:root {
    --bg-main: #0f1117;
    --bg-surface: #161922;
    --bg-surface-elevated: #1e2230;
    --primary-rose: #f43f5e;
    --primary-rose-light: #fb7185;
    --primary-rose-dark: #e11d48;
    --accent-automation: #06b6d4;
    --accent-smarthome: #10b981;
    --accent-emerging: #f59e0b;
    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;
    --border-subtle: rgba(148, 163, 184, 0.12);
    --border-medium: rgba(148, 163, 184, 0.24);
    --font-main: 'IBM Plex Sans KR', -apple-system, BlinkMacSystemFont, sans-serif;
    --shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.35);
}

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

html {
    scroll-behavior: smooth;
}

body.coreviax-dark-body {
    margin: 0;
    padding: 0;
    font-family: var(--font-main);
    background-color: var(--bg-main);
    color: var(--text-primary);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

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

a:hover {
    color: var(--primary-rose-light);
}

.coreviax-btn-primary {
    background: var(--primary-rose);
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 0.625rem 1.35rem;
    font-weight: 600;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.coreviax-btn-primary:hover {
    background: var(--primary-rose-dark);
    color: #ffffff;
}

.coreviax-section-divider {
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, #f43f5e 0%, #06b6d4 33%, #10b981 66%, #f59e0b 100%);
    border: none;
    margin: 0 0 1.5rem 0;
}

/* ===== header ===== */
.coreviax-header {
    position: relative;
    width: 100%;
    background-color: #0f1117;
    z-index: 1030;
}

.coreviax-header__topbar {
    background-color: #161922;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
    font-size: 0.78rem;
}

.coreviax-header__badge {
    background: rgba(244, 63, 94, 0.15);
    color: #fb7185;
    font-weight: 600;
    padding: 0.2rem 0.6rem;
    border-radius: 4px;
}

.coreviax-header__meta-text {
    color: #94a3b8;
}

.coreviax-header__indicator {
    color: #94a3b8;
}

.coreviax-header__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #10b981;
    box-shadow: 0 0 8px #10b981;
    display: inline-block;
}

.coreviax-header__navbar {
    background-color: #0f1117;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.coreviax-header__brand {
    text-decoration: none;
}

.coreviax-header__logo-img {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

.coreviax-header__brand-name {
    font-family: 'IBM Plex Sans KR', sans-serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #f1f5f9;
    letter-spacing: -0.02em;
}

.coreviax-header__brand-dot {
    color: #f43f5e;
}

.coreviax-header__toggler {
    border: 1px solid rgba(148, 163, 184, 0.24);
    background-color: #161922;
    padding: 0.45rem 0.7rem;
    border-radius: 6px;
}

.coreviax-header__toggler:focus {
    box-shadow: 0 0 0 2px #f43f5e;
    outline: none;
}

.coreviax-header__toggler-icon {
    font-size: 1.35rem;
    color: #f1f5f9;
}

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

.coreviax-header__nav-link {
    color: #94a3b8 !important;
    font-family: 'IBM Plex Sans KR', sans-serif;
    font-size: 0.925rem;
    font-weight: 500;
    padding: 0.5rem 0.85rem !important;
    border-radius: 6px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.coreviax-header__nav-link:hover {
    color: #ffffff !important;
    background-color: rgba(244, 63, 94, 0.08);
}

.coreviax-header__nav-link.active {
    color: #ffffff !important;
    background-color: #f43f5e;
    font-weight: 600;
}

.coreviax-header__btn {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    color: #ffffff !important;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.55rem 1.15rem;
    border-radius: 6px;
    text-decoration: none;
    border: 1px solid #f43f5e;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.coreviax-header__btn:hover {
    background: #e11d48;
    box-shadow: 0 4px 15px rgba(244, 63, 94, 0.35);
}

.coreviax-header__accent-line {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #f43f5e 0%, #06b6d4 33%, #10b981 66%, #f59e0b 100%);
}

@media (max-width: 991.98px) {
    .coreviax-header__collapse {
        background-color: #161922;
        padding: 1.25rem;
        border-radius: 8px;
        margin-top: 0.75rem;
        border: 1px solid rgba(148, 163, 184, 0.12);
    }

    .coreviax-header__nav-link {
        padding: 0.65rem 0.75rem !important;
    }

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

/* ===== hero ===== */
.hero-section {
    background-color: #0f1117;
    padding-top: 2rem;
    padding-bottom: 3.5rem;
    color: #f1f5f9;
    font-family: 'IBM Plex Sans KR', sans-serif;
}

.hero-section .hero-container {
    max-width: 1320px;
}

.hero-section .text-slate-100 {
    color: #f8fafc;
}

.hero-section .text-slate-200 {
    color: #e2e8f0;
}

.hero-section .text-slate-300 {
    color: #cbd5e1;
}

.hero-section .bg-surface {
    background-color: #161922;
}

.hero-section .bg-surface-elevated {
    background-color: #1e2230;
}

.hero-section .breaking-ticker-bar {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.16);
}

.hero-section .ticker-label {
    font-size: 0.85rem;
    letter-spacing: 0.03em;
}

.hero-section .ticker-item {
    font-size: 0.875rem;
}

.hero-section .hero-featured-card {
    min-height: 480px;
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.14);
}

.hero-section .featured-img-wrap {
    z-index: 1;
}

.hero-section .featured-main-img {
    object-fit: cover;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.hero-section .hero-featured-card:hover .featured-main-img {
    transform: scale(1.02);
    filter: brightness(1.05);
}

.hero-section .hero-gradient-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 17, 23, 0.1) 0%, rgba(15, 17, 23, 0.6) 45%, rgba(15, 17, 23, 0.96) 100%);
}

.hero-section .featured-content-wrap {
    z-index: 2;
}

.hero-section .category-pill {
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    background-color: #f43f5e !important;
}

.hero-section .status-pill {
    font-size: 0.75rem;
}

.hero-section .hero-title {
    font-size: 2rem;
    line-height: 1.25;
}

.hero-section .hero-title-link {
    transition: color 0.15s ease;
}

.hero-section .hero-title-link:hover {
    color: #fb7185 !important;
    text-decoration: underline;
}

.hero-section .hero-lead-text {
    font-size: 0.975rem;
    line-height: 1.55;
    max-width: 680px;
}

.hero-section .btn-learn-more {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    border: none;
    font-size: 0.9rem;
    color: #ffffff;
    transition: background 0.2s ease, transform 0.15s ease;
}

.hero-section .btn-learn-more:hover {
    background: #be123c;
    color: #ffffff;
    transform: translateY(-1px);
}

.hero-section .indicator-square {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 2px;
}

.hero-section .side-card-title {
    font-size: 1.2rem;
}

.hero-section .topic-item {
    background-color: #1e2230;
    border: 1px solid rgba(148, 163, 184, 0.1);
    transition: border-color 0.2s ease, transform 0.15s ease;
}

.hero-section .topic-item:hover {
    border-color: rgba(6, 182, 212, 0.4);
    transform: translateX(2px);
}

.hero-section .topic-title {
    font-size: 0.95rem;
}

.hero-section .topic-desc {
    line-height: 1.45;
}

@media (max-width: 767.98px) {
    .hero-section {
        padding-top: 1.25rem;
        padding-bottom: 2.5rem;
    }

    .hero-section .hero-featured-card {
        min-height: 380px;
    }

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

    .hero-section .side-card-title {
        font-size: 1rem !important;
    }

    .hero-section .topic-title {
        font-size: 0.875rem !important;
    }

    .hero-section .featured-content-wrap {
        padding: 1rem !important;
    }
}

/* ===== theme_of_the_day ===== */
.theme-of-the-day-section {
    background-color: #0f1117;
    color: #f1f5f9;
    font-family: 'IBM Plex Sans KR', sans-serif;
    overflow: hidden;
}

.theme-of-the-day-section .accent-tile {
    width: 12px;
    height: 12px;
    background-color: #06b6d4;
    display: inline-block;
    border-radius: 2px;
}

.theme-of-the-day-section .section-badge {
    font-size: 0.75rem;
    font-weight: 700;
    color: #06b6d4;
    letter-spacing: 0.05em;
}

.theme-of-the-day-section .section-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #f1f5f9;
}

.theme-of-the-day-section .theme-date {
    font-size: 0.85rem;
    color: #94a3b8;
}

.theme-of-the-day-section .section-divider {
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, #06b6d4 0%, #f43f5e 33%, #10b981 66%, #f59e0b 100%);
    border-radius: 2px;
}

.theme-of-the-day-section .focus-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.theme-of-the-day-section .focus-card:hover {
    border-color: rgba(6, 182, 212, 0.35);
    box-shadow: 0 10px 30px rgba(6, 182, 212, 0.15);
}

.theme-of-the-day-section .card-media {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 280px;
    background-color: #0f172a;
}

.theme-of-the-day-section .media-link {
    display: block;
    width: 100%;
    height: 100%;
}

.theme-of-the-day-section .media-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: filter 0.2s ease;
}

.theme-of-the-day-section .focus-card:hover .media-link img {
    filter: brightness(1.06);
}

.theme-of-the-day-section .category-tag {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background-color: #06b6d4;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.35rem 0.75rem;
    border-radius: 4px;
    text-transform: uppercase;
    z-index: 2;
}

.theme-of-the-day-section .meta-item {
    font-size: 0.8rem;
    color: #94a3b8;
}

.theme-of-the-day-section .meta-separator {
    color: #475569;
    font-size: 0.8rem;
}

.theme-of-the-day-section .article-title {
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.3;
}

.theme-of-the-day-section .title-link {
    color: #f1f5f9;
    text-decoration: none;
    transition: color 0.15s ease;
}

.theme-of-the-day-section .title-link:hover {
    color: #06b6d4;
    text-decoration: underline;
}

.theme-of-the-day-section .article-lead {
    font-size: 0.95rem;
    color: #94a3b8;
    line-height: 1.6;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.theme-of-the-day-section .key-points {
    background-color: #1e2230;
    padding: 1rem 1.25rem;
    border-radius: 6px;
    border-left: 3px solid #06b6d4;
}

.theme-of-the-day-section .point-item {
    font-size: 0.875rem;
    color: #cbd5e1;
    line-height: 1.45;
}

.theme-of-the-day-section .text-accent {
    color: #06b6d4;
    font-size: 0.9rem;
}

.theme-of-the-day-section .content-bottom {
    border-top: 1px solid rgba(148, 163, 184, 0.1);
}

.theme-of-the-day-section .btn-read-article {
    background: #06b6d4;
    color: #ffffff;
    padding: 0.65rem 1.4rem;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background-color 0.15s ease;
    border: none;
}

.theme-of-the-day-section .btn-read-article:hover {
    background: #0891b2;
    color: #ffffff;
    text-decoration: none;
}

.theme-of-the-day-section .pulse-dot {
    width: 8px;
    height: 8px;
    background-color: #10b981;
    border-radius: 50%;
    display: inline-block;
}

.theme-of-the-day-section .status-text {
    font-size: 0.8rem;
    color: #94a3b8;
    font-weight: 500;
}

@media (max-width: 767px) {
    .theme-of-the-day-section .section-title {
        font-size: 1.15rem;
    }

    .theme-of-the-day-section .article-title {
        font-size: 1.15rem;
    }

    .theme-of-the-day-section .card-media {
        min-height: 220px;
        height: 220px;
    }

    .theme-of-the-day-section .card-body-content {
        padding: 1.25rem;
    }

    .theme-of-the-day-section .btn-read-article {
        width: 100%;
        justify-content: center;
    }
}

/* ===== exchange_rates ===== */
.crx-exchange-section {
    background-color: #0f1117;
    color: #f1f5f9;
    font-family: 'IBM Plex Sans KR', sans-serif;
}

.crx-exchange-section .crx-header-accent {
    width: 12px;
    height: 12px;
    background-color: #f43f5e;
    display: inline-block;
    border-radius: 2px;
    flex-shrink: 0;
}

.crx-exchange-section .crx-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #f1f5f9;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.crx-exchange-section .crx-rainbow-divider {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #f43f5e 0%, #06b6d4 33%, #10b981 66%, #f59e0b 100%);
}

.crx-exchange-section .crx-update-badge {
    background-color: #1e2230;
    color: #94a3b8;
    font-size: 0.8rem;
    padding: 0.4rem 0.75rem;
    border-radius: 6px;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.crx-exchange-section .crx-update-badge .crx-meta-val {
    color: #f1f5f9;
    font-weight: 500;
}

.crx-exchange-section .crx-refresh-btn {
    background-color: rgba(244, 63, 94, 0.12);
    color: #fb7185;
    border: 1px solid rgba(244, 63, 94, 0.3);
    border-radius: 6px;
    padding: 0.4rem 0.85rem;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.crx-exchange-section .crx-refresh-btn:hover {
    background-color: #f43f5e;
    color: #ffffff;
    border-color: #f43f5e;
}

.crx-exchange-section .crx-tab-btn {
    background-color: #161922;
    color: #94a3b8;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 6px;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
}

.crx-exchange-section .crx-tab-btn:hover {
    color: #f1f5f9;
    border-color: rgba(244, 63, 94, 0.35);
}

.crx-exchange-section .crx-tab-btn.active {
    background-color: #f43f5e;
    color: #ffffff;
    border-color: #f43f5e;
}

.crx-exchange-section .crx-pulse-dot {
    width: 8px;
    height: 8px;
    background-color: #10b981;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
}

.crx-exchange-section .crx-status-text {
    color: #64748b;
    font-size: 0.8rem;
}

.crx-exchange-section .crx-rate-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 8px;
    padding: 1.5rem;
    transition: all 0.15s ease;
}

.crx-exchange-section .crx-rate-card:hover {
    border-color: rgba(244, 63, 94, 0.35);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
    transform: translateY(-2px);
}

.crx-exchange-section .crx-currency-code {
    font-size: 1.15rem;
    font-weight: 700;
    color: #f1f5f9;
}

.crx-exchange-section .crx-currency-name {
    font-size: 0.85rem;
    color: #94a3b8;
}

.crx-exchange-section .crx-trade-note {
    font-size: 0.75rem;
    color: #06b6d4;
    font-weight: 500;
}

.crx-exchange-section .crx-badge {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 4px;
}

.crx-exchange-section .crx-badge-up {
    background-color: rgba(244, 63, 94, 0.15);
    color: #fb7185;
    border: 1px solid rgba(244, 63, 94, 0.3);
}

.crx-exchange-section .crx-badge-down {
    background-color: rgba(6, 182, 212, 0.15);
    color: #22d3ee;
    border: 1px solid rgba(6, 182, 212, 0.3);
}

.crx-exchange-section .crx-rate-price {
    font-size: 1.65rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.crx-exchange-section .crx-unit {
    font-size: 0.95rem;
    color: #94a3b8;
    font-weight: 500;
}

.crx-exchange-section .crx-text-up {
    color: #fb7185;
}

.crx-exchange-section .crx-text-down {
    color: #22d3ee;
}

.crx-exchange-section .crx-diff-val {
    font-size: 0.9rem;
    font-weight: 700;
}

.crx-exchange-section .crx-diff-percent {
    font-size: 0.85rem;
    font-weight: 600;
}

.crx-exchange-section .crx-diff-period {
    font-size: 0.75rem;
    color: #64748b;
}

.crx-exchange-section .crx-card-footer {
    border-top: 1px solid rgba(148, 163, 184, 0.08);
    font-size: 0.75rem;
    color: #64748b;
}

.crx-exchange-section .crx-range-badge {
    background-color: #1e2230;
    color: #94a3b8;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
}

.crx-exchange-section .crx-converter-box {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 8px;
}

.crx-exchange-section .crx-accent-icon {
    font-size: 1.25rem;
    color: #f43f5e;
}

.crx-exchange-section .crx-calc-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #f1f5f9;
}

.crx-exchange-section .crx-calc-desc {
    font-size: 0.8rem;
    color: #94a3b8;
}

.crx-exchange-section .crx-form-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #94a3b8;
}

.crx-exchange-section .crx-input,
.crx-exchange-section .crx-select {
    background-color: #1e2230;
    border: 1px solid rgba(148, 163, 184, 0.2);
    color: #f1f5f9;
    border-radius: 6px;
    padding: 0.55rem 0.85rem;
    font-size: 0.9rem;
}

.crx-exchange-section .crx-input::placeholder {
    color: #64748b;
    opacity: 1;
}

.crx-exchange-section .crx-input:focus,
.crx-exchange-section .crx-select:focus {
    background-color: #1e2230;
    border-color: #f43f5e;
    color: #ffffff;
    box-shadow: 0 0 0 0.25rem rgba(244, 63, 94, 0.25);
}

.crx-exchange-section .crx-input-addon {
    background-color: #334155;
    border: 1px solid rgba(148, 163, 184, 0.2);
    color: #f1f5f9;
    font-weight: 600;
    font-size: 0.85rem;
}

.crx-exchange-section .crx-calc-result-panel {
    background: linear-gradient(135deg, rgba(244, 63, 94, 0.1) 0%, rgba(6, 182, 212, 0.05) 100%);
    border: 1px solid rgba(244, 63, 94, 0.25);
    border-radius: 6px;
    padding: 0.75rem 1rem;
    text-align: center;
}

.crx-exchange-section .crx-calc-result-label {
    font-size: 0.75rem;
    color: #94a3b8;
    display: block;
    margin-bottom: 0.2rem;
}

.crx-exchange-section .crx-calc-result-value {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fb7185;
}

@media (max-width: 767.98px) {
    .crx-exchange-section .crx-section-title {
        font-size: 1.05rem;
        hyphens: auto;
    }

    .crx-exchange-section .crx-calc-title {
        font-size: 0.95rem;
    }

    .crx-exchange-section .crx-rate-price {
        font-size: 1.35rem;
    }

    .crx-exchange-section .crx-rate-card {
        padding: 1.1rem;
    }

    .crx-exchange-section .crx-tab-btn {
        font-size: 0.75rem;
        padding: 0.4rem 0.65rem;
    }
}

/* ===== infographics ===== */
.crv-infographics {
    background-color: #0f1117;
    color: #f1f5f9;
    font-family: 'IBM Plex Sans KR', sans-serif;
}

.crv-infographics .crv-infographics__tile {
    width: 12px;
    height: 12px;
    background-color: #f43f5e;
    display: inline-block;
    border-radius: 2px;
    flex-shrink: 0;
}

.crv-infographics .crv-infographics__title {
    font-size: 1.75rem;
    font-weight: 600;
    color: #f1f5f9;
    line-height: 1.25;
}

.crv-infographics .crv-infographics__header {
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.crv-infographics .crv-infographics__card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 8px;
    padding: 1.5rem;
}

.crv-infographics .crv-infographics__card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #f1f5f9;
    line-height: 1.3;
}

.crv-infographics .crv-infographics__badge {
    background-color: rgba(6, 182, 212, 0.12);
    color: #06b6d4;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.35rem 0.65rem;
    border-radius: 4px;
}

.crv-infographics .crv-infographics__btn {
    background-color: #1e2230;
    color: #94a3b8;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 6px;
    padding: 0.45rem 1rem;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.15s ease;
}

.crv-infographics .crv-infographics__btn:hover {
    background-color: #f43f5e;
    color: #ffffff;
    border-color: #f43f5e;
}

.crv-infographics .crv-infographics__btn.active {
    background-color: #f43f5e;
    color: #ffffff;
    border-color: #f43f5e;
}

.crv-infographics .crv-infographics__chart-box {
    padding: 1rem 0;
}

.crv-infographics .crv-infographics__metric-label {
    font-size: 0.925rem;
    font-weight: 500;
    color: #e2e8f0;
}

.crv-infographics .crv-infographics__metric-val {
    font-size: 0.925rem;
    font-weight: 700;
    color: #06b6d4;
}

.crv-infographics .crv-infographics__progress {
    height: 10px;
    background-color: #1e2230;
    border-radius: 5px;
    overflow: hidden;
}

.crv-infographics .crv-infographics__bar-1 {
    background: linear-gradient(90deg, #f43f5e, #fb7185);
    transition: width 0.3s ease;
}

.crv-infographics .crv-infographics__bar-2 {
    background: linear-gradient(90deg, #06b6d4, #67e8f9);
    transition: width 0.3s ease;
}

.crv-infographics .crv-infographics__bar-3 {
    background: linear-gradient(90deg, #10b981, #34d399);
    transition: width 0.3s ease;
}

.crv-infographics .crv-infographics__bar-4 {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
    transition: width 0.3s ease;
}

.crv-infographics .crv-infographics__summary-row {
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.crv-infographics .crv-infographics__stat-box {
    background-color: #1e2230;
    border: 1px solid rgba(148, 163, 184, 0.08);
    border-radius: 6px;
    padding: 0.85rem 0.5rem;
}

.crv-infographics .crv-infographics__stat-num {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.25rem;
}

.crv-infographics .crv-infographics__stat-label {
    font-size: 0.75rem;
    color: #94a3b8;
    font-weight: 500;
}

.crv-infographics .crv-infographics__post-card {
    background-color: #1e2230;
    border: 1px solid rgba(148, 163, 184, 0.08);
}

.crv-infographics .crv-infographics__post-img-link {
    height: 170px;
}

.crv-infographics .crv-infographics__post-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter 0.15s ease;
}

.crv-infographics .crv-infographics__post-img:hover {
    filter: brightness(1.06);
}

.crv-infographics .crv-infographics__post-heading {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.4;
}

.crv-infographics .crv-infographics__post-title-link {
    color: #f1f5f9;
    text-decoration: none;
    transition: color 0.15s ease;
}

.crv-infographics .crv-infographics__post-title-link:hover {
    color: #f43f5e;
    text-decoration: underline;
}

.crv-infographics .crv-infographics__meta-row {
    font-size: 0.8rem;
    color: #94a3b8;
}

.crv-infographics .crv-infographics__meta-divider {
    color: #475569;
}

.crv-infographics .crv-infographics__action-btn {
    background: #f43f5e;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 0.625rem 1.35rem;
    font-weight: 600;
    font-size: 0.9rem;
    transition: background-color 0.15s ease;
}

.crv-infographics .crv-infographics__action-btn:hover {
    background: #e11d48;
    color: #ffffff;
}

@media (max-width: 767px) {
    .crv-infographics .crv-infographics__title {
        font-size: 16px;
        hyphens: auto;
    }

    .crv-infographics .crv-infographics__card-title {
        font-size: 14px;
        hyphens: auto;
    }

    .crv-infographics .crv-infographics__post-heading {
        font-size: 14px;
        hyphens: auto;
    }

    .crv-infographics .crv-infographics__filters {
        width: 100%;
    }

    .crv-infographics .crv-infographics__btn {
        flex: 1 1 auto;
        text-align: center;
        font-size: 0.8rem;
        padding: 0.4rem 0.5rem;
    }
}

/* ===== news_grid ===== */
.coreviax-news-grid {
    background-color: #0f1117;
    font-family: 'IBM Plex Sans KR', sans-serif;
    color: #f1f5f9;
    position: relative
}

.coreviax-news-grid__title-tile {
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: #f43f5e;
    border-radius: 2px;
    flex-shrink: 0
}

.coreviax-news-grid__heading {
    font-size: 1.75rem;
    font-weight: 700;
    color: #f1f5f9;
    letter-spacing: -0.01em;
    line-height: 1.25
}

.coreviax-news-grid__more-link {
    font-size: 0.9rem;
    font-weight: 600;
    color: #94a3b8;
    text-decoration: none;
    transition: color 0.15s ease
}

.coreviax-news-grid__more-link:hover {
    color: #f43f5e;
    text-decoration: none
}

.coreviax-news-grid__divider {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #f43f5e 0%, #06b6d4 33%, #10b981 66%, #f59e0b 100%)
}

.coreviax-news-grid__card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 8px;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease
}

.coreviax-news-grid__card:hover {
    border-color: rgba(244, 63, 94, 0.35);
    box-shadow: 0 10px 30px rgba(244, 63, 94, 0.15);
    transform: translateY(-2px)
}

.coreviax-news-grid__thumb-wrapper {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/9;
    background-color: #1e2230
}

.coreviax-news-grid__thumb {
    object-fit: cover;
    height: 100%;
    transition: filter 0.15s ease, transform 0.2s ease
}

.coreviax-news-grid__card:hover .coreviax-news-grid__thumb {
    filter: brightness(1.06);
    transform: scale(1.02)
}

.coreviax-news-grid__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 0.3rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 4px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    z-index: 2
}

.coreviax-news-grid__badge--electronics {
    background-color: rgba(244, 63, 94, 0.9);
    color: #ffffff
}

.coreviax-news-grid__badge--automation {
    background-color: rgba(6, 182, 212, 0.9);
    color: #020617
}

.coreviax-news-grid__badge--smarthome {
    background-color: rgba(16, 185, 129, 0.9);
    color: #020617
}

.coreviax-news-grid__meta {
    font-size: 0.8rem;
    color: #94a3b8
}

.coreviax-news-grid__meta-item {
    display: inline-flex;
    align-items: center
}

.coreviax-news-grid__meta-dot {
    color: #64748b
}

.coreviax-news-grid__title {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere
}

.coreviax-news-grid__title-link {
    color: #f1f5f9;
    text-decoration: none;
    transition: color 0.15s ease
}

.coreviax-news-grid__card:hover .coreviax-news-grid__title-link {
    color: #f43f5e
}

.coreviax-news-grid__desc {
    font-size: 0.9rem;
    line-height: 1.55;
    color: #94a3b8;
    overflow-wrap: anywhere
}

.coreviax-news-grid__btn {
    background-color: #f43f5e;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.625rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    border: none;
    transition: background-color 0.15s ease, color 0.15s ease
}

.coreviax-news-grid__btn:hover {
    background-color: #e11d48;
    color: #ffffff;
    text-decoration: none
}

@media(max-width:767px) {
    .coreviax-news-grid__heading {
        font-size: 16px;
        hyphens: auto
    }

    .coreviax-news-grid__title {
        font-size: 14px;
        hyphens: auto
    }

    .coreviax-news-grid__desc {
        font-size: 0.85rem
    }
}

/* ===== smart_home_section ===== */
.smart-home-section {
    background-color: #0f1117;
    font-family: 'IBM Plex Sans KR', sans-serif;
    position: relative;
    overflow: hidden;
}

.smart-home-section__badge-tile {
    width: 14px;
    height: 14px;
    background-color: #10b981;
    display: inline-block;
    border-radius: 2px;
    box-shadow: 0 0 10px rgba(16, 185, 129, 0.4);
}

.smart-home-section__category {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #10b981;
    display: block;
    line-height: 1.2;
    margin-bottom: 4px;
}

.smart-home-section__title {
    color: #f1f5f9;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.smart-home-section__header-link {
    color: #94a3b8;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.15s ease, transform 0.15s ease;
}

.smart-home-section__header-link:hover {
    color: #10b981;
    text-decoration: underline;
}

.smart-home-section__divider {
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, #10b981 0%, #06b6d4 50%, rgba(16, 185, 129, 0.1) 100%);
}

.smart-home-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-top: 3px solid #10b981;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.smart-home-card:hover {
    border-color: rgba(16, 185, 129, 0.5);
    box-shadow: 0 10px 30px rgba(16, 185, 129, 0.15);
    transform: translateY(-2px);
}

.smart-home-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: #1e2230;
}

.smart-home-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter 0.15s ease, transform 0.15s ease;
}

.smart-home-card:hover .smart-home-card__img {
    filter: brightness(1.08);
    transform: scale(1.03);
}

.smart-home-card__meta-item {
    font-size: 0.75rem;
    font-weight: 500;
    color: #94a3b8;
    background-color: #1e2230;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
    border: 1px solid rgba(148, 163, 184, 0.1);
}

.smart-home-card__title {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    color: #f1f5f9;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.smart-home-card__title-link {
    color: #f1f5f9;
    text-decoration: none;
    transition: color 0.15s ease;
}

.smart-home-card:hover .smart-home-card__title-link {
    color: #10b981;
}

.smart-home-card__desc {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #94a3b8;
    overflow-wrap: anywhere;
    hyphens: auto;
}

.smart-home-card__btn {
    background-color: #10b981;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.625rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    border: 1px solid transparent;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.smart-home-card__btn:hover {
    background-color: #059669;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

@media (max-width: 767px) {
    .smart-home-section__title {
        font-size: 1.15rem;
    }

    .smart-home-card__title {
        font-size: 1rem;
    }

    .smart-home-card__desc {
        font-size: 0.8125rem;
    }
}

/* ===== newsletter_subscribe ===== */
.crx-newsletter-block {
    background-color: #0f1117;
    position: relative;
    overflow: hidden;
}

.crx-newsletter-block .crx-newsletter-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 12px;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.crx-newsletter-block .crx-badge-tile {
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #f43f5e;
    border-radius: 2px;
}

.crx-newsletter-block .crx-badge-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #fb7185;
    text-transform: uppercase;
}

.crx-newsletter-block .crx-newsletter-heading {
    color: #f1f5f9;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.3;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.crx-newsletter-block .crx-newsletter-desc {
    color: #94a3b8;
    font-size: 0.95rem;
    line-height: 1.6;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.crx-newsletter-block .crx-check-icon {
    color: #06b6d4;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.crx-newsletter-block .crx-feature-text {
    color: #e2e8f0;
    font-size: 0.875rem;
    line-height: 1.5;
    word-break: keep-all;
}

.crx-newsletter-block .crx-form-wrapper {
    background-color: #1e2230;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 8px;
}

.crx-newsletter-block .crx-input-label {
    color: #e2e8f0;
    font-size: 0.85rem;
    font-weight: 600;
    display: block;
}

.crx-newsletter-block .crx-input-group {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 6px;
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.crx-newsletter-block .crx-input-group:focus-within {
    border-color: #f43f5e;
    box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.2);
}

.crx-newsletter-block .crx-group-icon {
    background-color: #161922;
    border: none;
    color: #94a3b8;
    padding-left: 1rem;
    padding-right: 0.75rem;
}

.crx-newsletter-block .crx-form-input {
    background-color: #161922;
    border: none;
    color: #f1f5f9;
    font-size: 0.95rem;
    padding: 0.75rem 1rem 0.75rem 0.25rem;
}

.crx-newsletter-block .crx-form-input:focus {
    background-color: #161922;
    color: #ffffff;
    box-shadow: none;
    outline: none;
}

.crx-newsletter-block .crx-form-input::placeholder {
    color: #64748b;
    opacity: 1;
}

.crx-newsletter-block .crx-check-group {
    margin-top: 0.75rem;
}

.crx-newsletter-block .crx-checkbox {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.35);
    cursor: pointer;
}

.crx-newsletter-block .crx-checkbox:checked {
    background-color: #f43f5e;
    border-color: #f43f5e;
}

.crx-newsletter-block .crx-checkbox:focus {
    box-shadow: 0 0 0 3px rgba(244, 63, 94, 0.25);
}

.crx-newsletter-block .crx-check-label {
    color: #94a3b8;
    font-size: 0.8rem;
    line-height: 1.4;
    cursor: pointer;
}

.crx-newsletter-block .crx-submit-btn {
    background: #f43f5e;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 0.75rem 1.5rem;
    font-size: 0.95rem;
    font-weight: 600;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.crx-newsletter-block .crx-submit-btn:hover,
.crx-newsletter-block .crx-submit-btn:focus {
    background: #e11d48;
    color: #ffffff;
    box-shadow: 0 8px 24px rgba(244, 63, 94, 0.35);
}

.crx-newsletter-block .crx-btn-arrow {
    font-size: 1.25rem;
    line-height: 1;
}

@media (max-width: 767px) {
    .crx-newsletter-block .crx-newsletter-heading {
        font-size: 1.25rem;
        hyphens: auto;
    }

    .crx-newsletter-block .crx-newsletter-desc {
        font-size: 0.875rem;
    }

    .crx-newsletter-block .crx-newsletter-card {
        padding: 1.25rem !important;
    }
}

/* ===== footer ===== */
.coreviax-footer {
    background-color: #0b0e14;
    color: #94a3b8;
    font-family: 'IBM Plex Sans KR', sans-serif;
    position: relative;
    border-top: 1px solid rgba(148, 163, 184, 0.12);
}

.coreviax-footer__top-divider {
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, #f43f5e 0%, #06b6d4 33%, #10b981 66%, #f59e0b 100%);
}

.coreviax-footer__logo-img {
    max-width: 42px;
    height: auto;
    object-fit: contain;
}

.coreviax-footer__brand-name {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #f1f5f9;
}

.coreviax-footer__about-text {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #94a3b8;
}

.coreviax-footer__status-badge {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.15);
    padding: 0.4rem 0.75rem;
    border-radius: 9999px;
}

.coreviax-footer__status-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #10b981;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
    flex-shrink: 0;
}

.coreviax-footer__status-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: #cbd5e1;
}

.coreviax-footer__accent-tile {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
    flex-shrink: 0;
}

.coreviax-footer__accent-tile--rose {
    background-color: #f43f5e;
}

.coreviax-footer__accent-tile--cyan {
    background-color: #06b6d4;
}

.coreviax-footer__accent-tile--amber {
    background-color: #f59e0b;
}

.coreviax-footer__col-title {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #f1f5f9;
}

.coreviax-footer__nav-link {
    color: #94a3b8;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.15s ease, padding-left 0.15s ease;
    display: inline-block;
}

.coreviax-footer__nav-link:hover,
.coreviax-footer__nav-link:focus {
    color: #fb7185;
    text-decoration: underline;
    padding-left: 2px;
}

.coreviax-footer__newsletter-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 8px;
    padding: 1.25rem;
}

.coreviax-footer__newsletter-desc {
    font-size: 0.825rem;
    line-height: 1.55;
    color: #94a3b8;
}

.coreviax-footer__input {
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.24);
    color: #f1f5f9;
    font-size: 0.875rem;
    padding: 0.65rem 0.85rem;
    border-radius: 6px;
}

.coreviax-footer__input::placeholder {
    color: #64748b;
    opacity: 1;
}

.coreviax-footer__input:focus {
    background-color: #12151d;
    border-color: #f43f5e;
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, 0.25);
}

.coreviax-footer__submit-btn {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    border: none;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.65rem 1rem;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.coreviax-footer__submit-btn:hover,
.coreviax-footer__submit-btn:focus {
    background: linear-gradient(135deg, #fb7185 0%, #e11d48 100%);
    color: #ffffff;
    transform: translateY(-1px);
}

.coreviax-footer__submit-btn:active {
    transform: translateY(0);
}

.coreviax-footer__bottom-row {
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.coreviax-footer__copyright {
    font-size: 0.8rem;
    color: #64748b;
    line-height: 1.5;
}

.coreviax-footer__legal-link {
    color: #64748b;
    font-size: 0.8rem;
    text-decoration: none;
    transition: color 0.15s ease;
}

.coreviax-footer__legal-link:hover,
.coreviax-footer__legal-link:focus {
    color: #fb7185;
    text-decoration: underline;
}

.coreviax-footer__legal-separator {
    color: #334155;
    font-size: 0.75rem;
}

@media (max-width: 767px) {
    .coreviax-footer .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .coreviax-footer__col-title {
        font-size: 0.9rem;
    }

    .coreviax-footer__legal-links {
        font-size: 0.75rem;
    }
}

body.coreviax-body {
    background-color: #0f1117;
    color: #f1f5f9;
    font-family: 'IBM Plex Sans KR', sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.coreviax-header {
    position: relative;
    width: 100%;
    background-color: #0f1117;
    z-index: 1030;
}

.coreviax-header__topbar {
    background-color: #161922;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
    font-size: 0.78rem;
}

.coreviax-header__badge {
    background: rgba(244, 63, 94, 0.15);
    color: #fb7185;
    font-weight: 600;
    padding: 0.2rem 0.6rem;
    border-radius: 4px;
}

.coreviax-header__meta-text {
    color: #94a3b8;
}

.coreviax-header__indicator {
    color: #94a3b8;
}

.coreviax-header__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #10b981;
    box-shadow: 0 0 8px #10b981;
    display: inline-block;
}

.coreviax-header__navbar {
    background-color: #0f1117;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.coreviax-header__brand {
    text-decoration: none;
}

.coreviax-header__logo-img {
    max-width: 40px;
    max-height: 40px;
    object-fit: contain;
}

.coreviax-header__brand-name {
    font-family: 'IBM Plex Sans KR', sans-serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #f1f5f9;
    letter-spacing: -0.02em;
}

.coreviax-header__brand-dot {
    color: #f43f5e;
}

.coreviax-header__toggler {
    border: 1px solid rgba(148, 163, 184, 0.24);
    background-color: #161922;
    padding: 0.45rem 0.7rem;
    border-radius: 6px;
}

.coreviax-header__toggler:focus {
    box-shadow: 0 0 0 2px #f43f5e;
    outline: none;
}

.coreviax-header__toggler-icon {
    font-size: 1.35rem;
    color: #f1f5f9;
}

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

.coreviax-header__nav-link {
    color: #94a3b8 !important;
    font-family: 'IBM Plex Sans KR', sans-serif;
    font-size: 0.925rem;
    font-weight: 500;
    padding: 0.5rem 0.85rem !important;
    border-radius: 6px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.coreviax-header__nav-link:hover {
    color: #ffffff !important;
    background-color: rgba(244, 63, 94, 0.08);
}

.coreviax-header__nav-link.active {
    color: #ffffff !important;
    background-color: #f43f5e;
    font-weight: 600;
}

.coreviax-header__btn {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    color: #ffffff !important;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.55rem 1.15rem;
    border-radius: 6px;
    text-decoration: none;
    border: 1px solid #f43f5e;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.coreviax-header__btn:hover {
    background: #e11d48;
    box-shadow: 0 4px 15px rgba(244, 63, 94, 0.35);
}

.coreviax-header__accent-line {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #f43f5e 0%, #06b6d4 33%, #10b981 66%, #f59e0b 100%);
}

.coreviax-category-hero {
    background: linear-gradient(180deg, #161922 0%, #0f1117 100%);
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
    position: relative;
}

.coreviax-category-hero__tile {
    width: 12px;
    height: 12px;
    background-color: #f43f5e;
    border-radius: 2px;
    display: inline-block;
}

.coreviax-category-hero__section-label {
    color: #fb7185;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.coreviax-category-hero__title {
    color: #f1f5f9;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.25;
    word-break: keep-all;
}

.coreviax-category-hero__description {
    color: #94a3b8;
    font-size: 1.05rem;
    line-height: 1.6;
    word-break: keep-all;
}

.coreviax-category-hero__stat-pill {
    background-color: #1e2230;
    border: 1px solid rgba(148, 163, 184, 0.15);
    color: #cbd5e1;
    font-size: 0.825rem;
    padding: 0.35rem 0.8rem;
    border-radius: 9999px;
}

.coreviax-category-hero__filter-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 8px;
    padding: 1.35rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.coreviax-category-hero__filter-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #06b6d4;
    box-shadow: 0 0 6px #06b6d4;
    display: inline-block;
}

.coreviax-category-hero__filter-heading {
    font-size: 0.95rem;
    font-weight: 600;
    color: #f1f5f9;
}

.coreviax-category-hero__search-label {
    font-size: 0.78rem;
    color: #94a3b8;
    font-weight: 500;
}

.coreviax-category-hero__input-wrap {
    position: relative;
}

.coreviax-category-hero__search-icon {
    position: absolute;
    left: 0.75rem;
    color: #64748b;
    font-size: 0.9rem;
}

.coreviax-category-hero__input {
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.24);
    color: #f1f5f9;
    font-size: 0.85rem;
    padding: 0.55rem 0.75rem 0.55rem 2.2rem;
    border-radius: 6px;
}

.coreviax-category-hero__input::placeholder {
    color: #64748b;
    opacity: 1;
}

.coreviax-category-hero__input:focus {
    background-color: #12151d;
    border-color: #f43f5e;
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, 0.25);
}

.coreviax-category-hero__topic-label {
    font-size: 0.78rem;
    color: #94a3b8;
    font-weight: 500;
}

.coreviax-category-hero__filter-btn {
    background-color: #1e2230;
    color: #94a3b8;
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.35rem 0.65rem;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.coreviax-category-hero__filter-btn:hover {
    background-color: rgba(244, 63, 94, 0.15);
    color: #fb7185;
    border-color: rgba(244, 63, 94, 0.35);
}

.coreviax-category-hero__filter-btn.active {
    background-color: #f43f5e;
    color: #ffffff;
    border-color: #f43f5e;
}

.coreviax-guide-grid {
    position: relative;
    background-color: #0f1117;
}

.coreviax-guide-grid__indicator-tile {
    width: 12px;
    height: 12px;
    border-radius: 2px;
    background-color: #06b6d4;
    display: inline-block;
}

.coreviax-guide-grid__heading {
    font-size: 1.75rem;
    font-weight: 700;
    color: #f1f5f9;
}

.coreviax-guide-grid__intro {
    font-size: 0.95rem;
    color: #94a3b8;
    line-height: 1.55;
}

.coreviax-guide-grid__divider {
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #f43f5e 0%, #06b6d4 33%, #10b981 66%, #f59e0b 100%);
}

.coreviax-guide-grid__card {
    border-radius: 8px;
    overflow: hidden;
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.14);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
    height: 100%;
}

.coreviax-guide-grid__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(244, 63, 94, 0.2);
    border-color: rgba(244, 63, 94, 0.4);
}

.coreviax-guide-grid__image-box {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background-color: #1e2230;
}

.coreviax-guide-grid__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter 0.15s ease, transform 0.15s ease;
}

.coreviax-guide-grid__card:hover .coreviax-guide-grid__img {
    filter: brightness(1.08);
    transform: scale(1.02);
}

.coreviax-guide-grid__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 17, 23, 0.35) 0%, rgba(15, 17, 23, 0.92) 80%);
    z-index: 2;
}

.coreviax-guide-grid__badge {
    background-color: rgba(244, 63, 94, 0.9);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.25rem 0.55rem;
    border-radius: 4px;
    letter-spacing: 0.02em;
}

.coreviax-guide-grid__date-chip {
    background-color: rgba(15, 17, 23, 0.8);
    border: 1px solid rgba(148, 163, 184, 0.25);
    color: #cbd5e1;
    font-size: 0.72rem;
    font-weight: 500;
    padding: 0.2rem 0.5rem;
    border-radius: 4px;
}

.coreviax-guide-grid__content {
    width: 100%;
}

.coreviax-guide-grid__title {
    color: #ffffff;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.35;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    transition: color 0.15s ease;
}

.coreviax-guide-grid__card:hover .coreviax-guide-grid__title {
    color: #fb7185;
}

.coreviax-guide-grid__meta {
    font-size: 0.78rem;
    color: #cbd5e1;
}

.coreviax-guide-grid__meta-sep {
    color: #64748b;
}

.coreviax-guide-grid__link-text {
    color: #fb7185;
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color 0.15s ease;
}

.coreviax-guide-grid__card:hover .coreviax-guide-grid__link-text {
    color: #ffffff;
}

.coreviax-guide-grid__empty-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #f1f5f9;
}

.coreviax-guide-grid__empty-desc {
    font-size: 0.875rem;
    color: #94a3b8;
}

.text-rose {
    color: #f43f5e;
}

.coreviax-overview-section {
    background-color: #12151d;
    border-top: 1px solid rgba(148, 163, 184, 0.12);
}

.coreviax-overview-section__card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 8px;
    transition: border-color 0.15s ease;
}

.coreviax-overview-section__card:hover {
    border-color: rgba(6, 182, 212, 0.35);
}

.coreviax-overview-section__badge-icon {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.coreviax-overview-section__badge-icon--rose {
    background-color: rgba(244, 63, 94, 0.15);
    color: #fb7185;
}

.coreviax-overview-section__badge-icon--cyan {
    background-color: rgba(6, 182, 212, 0.15);
    color: #06b6d4;
}

.coreviax-overview-section__badge-icon--amber {
    background-color: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
}

.coreviax-overview-section__card-title {
    color: #f1f5f9;
    font-size: 1.1rem;
    font-weight: 600;
}

.coreviax-overview-section__card-text {
    color: #94a3b8;
    font-size: 0.875rem;
    line-height: 1.6;
}

.coreviax-footer {
    background-color: #0b0e14;
    color: #94a3b8;
    font-family: 'IBM Plex Sans KR', sans-serif;
    position: relative;
    border-top: 1px solid rgba(148, 163, 184, 0.12);
}

.coreviax-footer__top-divider {
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, #f43f5e 0%, #06b6d4 33%, #10b981 66%, #f59e0b 100%);
}

.coreviax-footer__logo-img {
    max-width: 42px;
    height: auto;
    object-fit: contain;
}

.coreviax-footer__brand-name {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #f1f5f9;
}

.coreviax-footer__about-text {
    font-size: 0.875rem;
    line-height: 1.6;
    color: #94a3b8;
}

.coreviax-footer__status-badge {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.15);
    padding: 0.4rem 0.75rem;
    border-radius: 9999px;
}

.coreviax-footer__status-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #10b981;
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
    flex-shrink: 0;
}

.coreviax-footer__status-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: #cbd5e1;
}

.coreviax-footer__accent-tile {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
    flex-shrink: 0;
}

.coreviax-footer__accent-tile--rose {
    background-color: #f43f5e;
}

.coreviax-footer__accent-tile--cyan {
    background-color: #06b6d4;
}

.coreviax-footer__accent-tile--amber {
    background-color: #f59e0b;
}

.coreviax-footer__col-title {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #f1f5f9;
}

.coreviax-footer__nav-link {
    color: #94a3b8;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color 0.15s ease, padding-left 0.15s ease;
    display: inline-block;
}

.coreviax-footer__nav-link:hover,
.coreviax-footer__nav-link:focus {
    color: #fb7185;
    text-decoration: underline;
    padding-left: 2px;
}

.coreviax-footer__newsletter-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-radius: 8px;
    padding: 1.25rem;
}

.coreviax-footer__newsletter-desc {
    font-size: 0.825rem;
    line-height: 1.55;
    color: #94a3b8;
}

.coreviax-footer__input {
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.24);
    color: #f1f5f9;
    font-size: 0.875rem;
    padding: 0.65rem 0.85rem;
    border-radius: 6px;
}

.coreviax-footer__input::placeholder {
    color: #64748b;
    opacity: 1;
}

.coreviax-footer__input:focus {
    background-color: #12151d;
    border-color: #f43f5e;
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, 0.25);
}

.coreviax-footer__submit-btn {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    border: none;
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.65rem 1rem;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.coreviax-footer__submit-btn:hover,
.coreviax-footer__submit-btn:focus {
    background: linear-gradient(135deg, #fb7185 0%, #e11d48 100%);
    color: #ffffff;
    transform: translateY(-1px);
}

.coreviax-footer__submit-btn:active {
    transform: translateY(0);
}

.coreviax-footer__bottom-row {
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.coreviax-footer__copyright {
    font-size: 0.8rem;
    color: #64748b;
    line-height: 1.5;
}

.coreviax-footer__legal-link {
    color: #64748b;
    font-size: 0.8rem;
    text-decoration: none;
    transition: color 0.15s ease;
}

.coreviax-footer__legal-link:hover,
.coreviax-footer__legal-link:focus {
    color: #fb7185;
    text-decoration: underline;
}

.coreviax-footer__legal-separator {
    color: #334155;
    font-size: 0.75rem;
}

@media (max-width: 991.98px) {
    .coreviax-header__collapse {
        background-color: #161922;
        padding: 1.25rem;
        border-radius: 8px;
        margin-top: 0.75rem;
        border: 1px solid rgba(148, 163, 184, 0.12);
    }

    .coreviax-header__nav-link {
        padding: 0.65rem 0.75rem !important;
    }

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

@media (max-width: 767.98px) {
    .coreviax-category-hero__title {
        font-size: 1.125rem;
        hyphens: auto;
    }

    .coreviax-category-hero__filter-heading {
        font-size: 0.875rem;
    }

    .coreviax-guide-grid__heading {
        font-size: 1rem;
    }

    .coreviax-guide-grid__title {
        font-size: 0.875rem;
    }

    .coreviax-overview-section__card-title {
        font-size: 0.875rem;
    }

    .coreviax-guide-grid__empty-title {
        font-size: 0.875rem;
    }

    .coreviax-footer .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .coreviax-footer__col-title {
        font-size: 0.9rem;
    }

    .coreviax-footer__legal-links {
        font-size: 0.75rem;
    }
}


/* ===== PAGE: privacy ===== */
.policy-content {
  color: #94a3b8;
  font-family: 'IBM Plex Sans KR', sans-serif;
  font-size: 0.975rem;
  line-height: 1.7;
  padding-top: 1.5rem;
  padding-bottom: 3.5rem;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.policy-content .policy-meta-block {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2.25rem;
  background: #161922;
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-left: 4px solid #f43f5e;
  border-radius: 6px;
}

.policy-content .policy-meta-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #f1f5f9;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.policy-content .policy-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
  display: inline-block;
}

.policy-content .policy-meta-date {
  color: #64748b;
  font-size: 0.85rem;
  font-weight: 500;
}

.policy-content .policy-lead-text {
  color: #f1f5f9;
  font-size: 1.05rem;
  line-height: 1.8;
  margin-bottom: 2.5rem;
  padding: 1.5rem;
  background: rgba(22, 25, 34, 0.6);
  border: 1px solid rgba(148, 163, 184, 0.08);
  border-radius: 8px;
}

.policy-content .policy-section {
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}

.policy-content .policy-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.policy-content h2 {
  color: #f1f5f9;
  font-size: 1.45rem;
  font-weight: 600;
  line-height: 1.35;
  margin-top: 0;
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.policy-content h3 {
  color: #e2e8f0;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.policy-content p {
  color: #94a3b8;
  margin-bottom: 1rem;
  line-height: 1.7;
}

.policy-content ul {
  margin-top: 0.75rem;
  margin-bottom: 1.25rem;
  padding-left: 1.4rem;
  list-style-type: disc;
}

.policy-content li {
  color: #94a3b8;
  margin-bottom: 0.6rem;
  line-height: 1.65;
}

.policy-content li::marker {
  color: #06b6d4;
}

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

@media (max-width: 767px) {
  .policy-content {
    font-size: 0.9rem;
    padding-top: 1rem;
    padding-bottom: 2.5rem;
  }

  .policy-content .policy-meta-block {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 1rem;
  }

  .policy-content .policy-lead-text {
    font-size: 0.95rem;
    padding: 1.15rem;
  }

  .policy-content h2 {
    font-size: 1rem;
    line-height: 1.4;
  }

  .policy-content h3 {
    font-size: 0.875rem;
    line-height: 1.4;
  }

  .policy-content ul {
    padding-left: 1.2rem;
  }
}

/* ===== PAGE: terms ===== */
.policy-content { width: 100%; color: #f1f5f9; font-family: 'IBM Plex Sans KR', sans-serif; line-height: 1.6; word-break: keep-all; overflow-wrap: anywhere; hyphens: auto; } .policy-content .policy-content-card { background: #161922; border: 1px solid rgba(148, 163, 184, 0.12); border-radius: 8px; padding: 2rem 1.75rem; } .policy-content .policy-header-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; padding-bottom: 1.25rem; margin-bottom: 1.75rem; border-bottom: 1px solid rgba(148, 163, 184, 0.12); } .policy-content .policy-badge { display: inline-flex; align-items: center; background: rgba(244, 63, 94, 0.12); color: #fb7185; border: 1px solid rgba(244, 63, 94, 0.3); font-size: 0.75rem; font-weight: 600; padding: 0.25rem 0.65rem; border-radius: 4px; text-transform: uppercase; letter-spacing: 0.03em; } .policy-content .policy-date { font-size: 0.85rem; color: #94a3b8; font-weight: 500; } .policy-content .policy-section { margin-bottom: 2.25rem; } .policy-content .policy-section:last-child { margin-bottom: 0; } .policy-content h2 { font-size: 1.35rem; font-weight: 600; color: #f1f5f9; line-height: 1.3; margin-top: 0; margin-bottom: 0.85rem; padding-left: 0.75rem; border-left: 3px solid #f43f5e; } .policy-content h3 { font-size: 1.05rem; font-weight: 600; color: #fb7185; line-height: 1.35; margin-top: 0; margin-bottom: 0.65rem; } .policy-content p { font-size: 0.95rem; color: #94a3b8; line-height: 1.65; margin-bottom: 0.85rem; } .policy-content strong { color: #f1f5f9; font-weight: 600; } .policy-content .policy-list { list-style: none; padding-left: 0; margin-bottom: 0.85rem; } .policy-content .policy-list li { position: relative; padding-left: 1.25rem; margin-bottom: 0.65rem; font-size: 0.95rem; color: #94a3b8; line-height: 1.6; } .policy-content .policy-list li::before { content: ''; position: absolute; left: 0; top: 0.55rem; width: 5px; height: 5px; background: #06b6d4; border-radius: 1px; } .policy-content .policy-subbox { background: #1e2230; border: 1px solid rgba(148, 163, 184, 0.15); border-radius: 6px; padding: 1.25rem; margin: 1rem 0; } .policy-content .policy-subbox .policy-list li::before { background: #10b981; } .policy-content .policy-appendix { background: rgba(15, 17, 23, 0.6); border: 1px dashed rgba(148, 163, 184, 0.2); border-radius: 6px; padding: 1.25rem; margin-top: 2rem; } .policy-content .policy-appendix h2 { border-left-color: #10b981; } .policy-content .policy-appendix p { margin-bottom: 0; font-size: 0.9rem; } @media (max-width: 767.98px) { .policy-content .policy-content-card { padding: 1.25rem 1rem; } .policy-content h2 { font-size: 1rem; line-height: 1.3; } .policy-content h3 { font-size: 0.875rem; line-height: 1.3; } .policy-content p, .policy-content .policy-list li { font-size: 0.875rem; line-height: 1.55; } .policy-content .policy-header-meta { flex-direction: column; align-items: flex-start; gap: 0.5rem; } }

/* ===== PAGE: disclaimer ===== */
.policy-content{font-family:'IBM Plex Sans KR',sans-serif;color:#f1f5f9;line-height:1.75;font-size:0.975rem;padding:2.5rem 1.25rem;max-width:840px;margin:0 auto;overflow-wrap:anywhere}.policy-content__section{margin-bottom:2.5rem;background:#161922;border:1px solid rgba(148,163,184,0.12);border-left:3px solid #f43f5e;border-radius:8px;padding:1.75rem 1.5rem}.policy-content__section:last-child{margin-bottom:0}.policy-content h2{font-size:1.45rem;font-weight:600;line-height:1.3;color:#f1f5f9;margin-top:0;margin-bottom:1.15rem;letter-spacing:-0.01em}.policy-content p{color:#94a3b8;margin-bottom:1rem;line-height:1.7}.policy-content p:last-child{margin-bottom:0}.policy-content ul{margin-top:0.75rem;margin-bottom:1rem;padding-left:1.35rem;color:#94a3b8}.policy-content ul:last-child{margin-bottom:0}.policy-content li{margin-bottom:0.55rem;line-height:1.65}.policy-content li:last-child{margin-bottom:0}.policy-content strong{color:#f1f5f9;font-weight:600}@media (max-width:767px){.policy-content{padding:1.5rem 0.75rem}.policy-content__section{padding:1.25rem 1rem;margin-bottom:1.5rem}.policy-content h2{font-size:16px;line-height:1.35;margin-bottom:0.85rem}.policy-content p,.policy-content li{font-size:0.875rem;line-height:1.6}}

/* ===== PAGE: cookies ===== */
.policy-content { max-width: 880px; margin: 0 auto; padding: 2rem 1.25rem 4.5rem; color: #f1f5f9; font-family: 'IBM Plex Sans KR', sans-serif; font-size: 0.975rem; line-height: 1.65; overflow-wrap: anywhere; word-break: break-word; } .policy-content .policy-lead { background: #161922; border-left: 3px solid #f43f5e; border-radius: 6px; padding: 1.25rem 1.5rem; margin-bottom: 2.5rem; } .policy-content .policy-lead-text { margin: 0; font-size: 1.05rem; line-height: 1.7; color: #f1f5f9; font-weight: 500; } .policy-content .policy-block { margin-bottom: 2.75rem; } .policy-content .policy-heading-wrap { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; } .policy-content .policy-accent-tile { display: inline-block; width: 12px; height: 12px; border-radius: 2px; flex-shrink: 0; } .policy-content .policy-tile-rose { background-color: #f43f5e; } .policy-content .policy-tile-cyan { background-color: #06b6d4; } .policy-content .policy-tile-emerald { background-color: #10b981; } .policy-content .policy-tile-amber { background-color: #f59e0b; } .policy-content h2 { margin: 0; font-size: 1.45rem; font-weight: 600; line-height: 1.3; color: #f1f5f9; } .policy-content h3 { margin: 0; font-size: 1.15rem; font-weight: 600; line-height: 1.35; color: #f1f5f9; } .policy-content p { color: #94a3b8; margin-bottom: 1rem; } .policy-content p:last-child { margin-bottom: 0; } .policy-content .policy-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1.25rem; } .policy-content .policy-card { background: #161922; border: 1px solid rgba(148, 163, 184, 0.12); border-radius: 6px; padding: 1.25rem; display: flex; flex-direction: column; } .policy-content .policy-card-header { display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; margin-bottom: 0.75rem; } .policy-content .policy-tag { display: inline-block; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; padding: 0.2rem 0.5rem; border-radius: 4px; line-height: 1.3; } .policy-content .policy-tag-rose { background: rgba(244, 63, 94, 0.12); color: #fb7185; } .policy-content .policy-tag-cyan { background: rgba(6, 182, 212, 0.12); color: #22d3ee; } .policy-content .policy-tag-emerald { background: rgba(16, 185, 129, 0.12); color: #34d399; } .policy-content .policy-tag-amber { background: rgba(245, 158, 11, 0.12); color: #fbbf24; } .policy-content .policy-card p { font-size: 0.875rem; line-height: 1.55; color: #94a3b8; margin: 0; } .policy-content .policy-list { list-style: none; padding-left: 1.25rem; margin: 1rem 0; color: #94a3b8; } .policy-content .policy-list li { margin-bottom: 0.5rem; font-size: 0.925rem; line-height: 1.6; } .policy-content .policy-list li strong { color: #f1f5f9; } .policy-content .policy-browser-guide { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1rem; } .policy-content .policy-browser-item { background: #161922; border: 1px solid rgba(148, 163, 184, 0.12); border-radius: 6px; padding: 0.875rem 1.25rem; display: flex; flex-direction: column; gap: 0.25rem; } .policy-content .policy-browser-item strong { color: #06b6d4; font-size: 0.95rem; font-weight: 600; } .policy-content .policy-browser-item span { color: #94a3b8; font-size: 0.875rem; line-height: 1.5; } @media (max-width: 767px) { .policy-content { padding: 1.5rem 1rem 3.5rem; } .policy-content h2 { font-size: 16px; hyphens: auto; } .policy-content h3 { font-size: 14px; hyphens: auto; } .policy-content .policy-lead-text { font-size: 0.95rem; } .policy-content .policy-card-grid { grid-template-columns: 1fr; } .policy-content .policy-browser-item { padding: 0.75rem 1rem; } }

/* ===== PAGE: about ===== */
.about-section {
  background-color: #0f1117;
  color: #f1f5f9;
  font-family: 'IBM Plex Sans KR', sans-serif;
  overflow-x: hidden;
}

.about-section .about-card {
  background-color: #161922;
  border: 1px solid rgba(148, 163, 184, 0.12);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.about-section .about-card:hover {
  border-color: rgba(244, 63, 94, 0.35);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.about-section .accent-box {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  flex-shrink: 0;
}

.about-section .accent-rose {
  background-color: #f43f5e;
}

.about-section .accent-cyan {
  background-color: #06b6d4;
}

.about-section .accent-emerald {
  background-color: #10b981;
}

.about-section .accent-amber {
  background-color: #f59e0b;
}

.about-section .about-subtitle {
  font-size: 1.25rem;
  font-weight: 600;
  color: #f1f5f9;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.about-section .about-section-heading {
  font-size: 1.5rem;
  font-weight: 600;
  color: #e2e8f0;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.about-section .about-divider {
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #f43f5e 0%, #06b6d4 33%, #10b981 66%, #f59e0b 100%);
}

.about-section .about-text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #94a3b8;
  margin-bottom: 0;
  overflow-wrap: anywhere;
}

.about-section .about-meta-tag {
  font-size: 0.8rem;
  font-weight: 500;
  color: #64748b;
  display: inline-flex;
  align-items: center;
}

.about-section .about-media-box {
  height: 340px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  background-color: #161922;
}

.about-section .about-media-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(180deg, rgba(15, 17, 23, 0) 0%, rgba(15, 17, 23, 0.95) 100%);
}

.about-section .about-media-caption {
  font-size: 1.15rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.about-section .about-field-card {
  background-color: #161922;
  border: 1px solid rgba(148, 163, 184, 0.12);
  position: relative;
  transition: transform 0.15s ease, border-color 0.15s ease;
}

.about-section .about-field-card:hover {
  border-color: rgba(6, 182, 212, 0.35);
  transform: translateY(-2px);
}

.about-section .about-field-title {
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.about-section .about-field-title a {
  color: #f1f5f9;
  transition: color 0.15s ease;
}

.about-section .about-field-card:hover .about-field-title a {
  color: #fb7185;
}

.about-section .about-link-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #fb7185;
  display: inline-flex;
  align-items: center;
}

.about-section .about-tab-btn {
  background-color: #161922;
  border: 1px solid rgba(148, 163, 184, 0.12);
  color: #94a3b8;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
  width: 100%;
  transition: all 0.15s ease;
  outline: none;
}

.about-section .about-tab-btn:hover {
  background-color: #1e2230;
  color: #ffffff;
  border-color: rgba(148, 163, 184, 0.24);
}

.about-section .about-tab-btn.active {
  background-color: #f43f5e;
  color: #ffffff;
  border-color: #f43f5e;
  font-weight: 600;
}

.about-section .about-tab-content {
  background-color: #161922;
  border: 1px solid rgba(148, 163, 184, 0.12);
  min-height: 220px;
}

.about-section .about-tab-panel-title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.about-section .about-bullet-list {
  list-style: none;
  color: #94a3b8;
  font-size: 0.9rem;
}

@media (max-width: 767.98px) {
  .about-section .about-subtitle {
    font-size: 1rem;
  }
  .about-section .about-section-heading {
    font-size: 1rem;
  }
  .about-section .about-field-title,
  .about-section .about-tab-panel-title {
    font-size: 0.875rem;
  }
  .about-section .about-media-box {
    height: 220px;
  }
  .about-section .about-media-caption {
    font-size: 0.95rem;
  }
}

.cv-comment-main {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    border-left: 3px solid #f43f5e;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    font-family: 'IBM Plex Sans KR', sans-serif
}

.cv-comment-main:hover {
    border-color: rgba(244, 63, 94, 0.35);
    box-shadow: 0 10px 30px rgba(244, 63, 94, 0.12)
}

.cv-avatar-box {
    width: 44px;
    height: 44px;
    min-width: 44px;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    user-select: none;
    object-fit: cover
}

.cv-avatar-rose {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    box-shadow: 0 0 12px rgba(244, 63, 94, 0.3)
}

.cv-comment-author-name {
    font-size: 1.025rem;
    color: #f1f5f9;
    letter-spacing: -0.01em
}

.cv-badge-role {
    font-size: 0.75rem;
    font-weight: 600;
    background-color: rgba(244, 63, 94, 0.12);
    color: #fb7185;
    border: 1px solid rgba(244, 63, 94, 0.25);
    line-height: 1.4
}

.cv-comment-timestamp {
    color: #64748b;
    font-size: 0.8rem
}

.cv-comment-tile-indicator {
    width: 10px;
    height: 10px;
    background-color: #f43f5e;
    border-radius: 2px;
    box-shadow: 0 0 6px rgba(244, 63, 94, 0.6)
}

.cv-comment-content {
    color: #94a3b8;
    font-size: 0.95rem;
    line-height: 1.65
}

.cv-comment-actions {
    border-color: rgba(148, 163, 184, 0.08) !important
}

.cv-btn-interaction {
    background: transparent;
    border: none;
    color: #94a3b8;
    font-size: 0.85rem;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    transition: color 0.15s ease
}

.cv-btn-interaction:hover {
    color: #f43f5e
}

.cv-icon-like {
    color: #f43f5e;
    font-size: 0.9rem
}

.cv-icon-reply {
    color: #06b6d4;
    font-size: 1rem
}

.cv-like-counter {
    color: #f1f5f9
}

.cv-status-pill {
    font-size: 0.75rem;
    color: #64748b
}

.cv-status-pill .text-emerald {
    color: #10b981
}

.cv-comment-reply {
    background-color: #1e2230;
    border: 1px solid rgba(148, 163, 184, 0.1);
    border-left: 3px solid #06b6d4;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.25);
    position: relative;
    font-family: 'IBM Plex Sans KR', sans-serif;
    transition: border-color 0.15s ease, background-color 0.15s ease
}

.cv-comment-reply:hover {
    border-color: rgba(6, 182, 212, 0.35);
    background-color: #202536
}

.cv-avatar-cyan {
    background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
    box-shadow: 0 0 10px rgba(6, 182, 212, 0.3)
}

.cv-author-reply {
    font-size: 0.95rem;
    color: #f1f5f9
}

.cv-mention-badge {
    font-size: 0.75rem;
    font-weight: 600;
    color: #06b6d4;
    background-color: rgba(6, 182, 212, 0.1);
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    border: 1px solid rgba(6, 182, 212, 0.25)
}

.cv-comment-tile-cyan {
    width: 8px;
    height: 8px;
    background-color: #06b6d4;
    border-radius: 2px;
    box-shadow: 0 0 5px rgba(6, 182, 212, 0.6)
}

.cv-reply-content {
    color: #94a3b8;
    font-size: 0.9rem;
    line-height: 1.6
}

.cv-icon-like-cyan {
    color: #06b6d4;
    font-size: 0.85rem
}

.cv-comment-reply .cv-btn-interaction:hover {
    color: #06b6d4
}


/* ===== PAGE TEMPLATE: news ===== */
.cv-detail-main {
    background-color: #0f1117;
    color: #94a3b8;
    font-family: 'IBM Plex Sans KR', sans-serif;
    min-height: 100vh;
}

.cv-detail-hero {
    background: linear-gradient(180deg, #161922 0%, #0f1117 100%);
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-breadcrumb__link {
    color: #94a3b8;
    text-decoration: none;
    font-size: 0.825rem;
    transition: color 0.15s ease;
}

.cv-breadcrumb__link:hover {
    color: #fb7185;
}

.cv-breadcrumb__item--active {
    color: #cbd5e1;
    font-size: 0.825rem;
    max-width: 320px;
}

.cv-section-tile {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
    flex-shrink: 0;
}

.cv-section-tile--rose {
    background-color: #f43f5e;
}

.cv-section-tile--cyan {
    background-color: #06b6d4;
}

.cv-section-tile--amber {
    background-color: #f59e0b;
}

.cv-badge-category {
    color: #fb7185;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.cv-detail-hero__title {
    color: #f1f5f9;
    font-size: 2.15rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.015em;
    overflow-wrap: anywhere;
}

.cv-detail-hero__subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #cbd5e1;
    max-width: 900px;
}

.cv-summary-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.cv-summary-image-wrapper {
    padding: 0.5rem;
}

.cv-summary-image-backdrop {
    position: absolute;
    top: -8px;
    left: -8px;
    right: 8px;
    bottom: 8px;
    background: linear-gradient(135deg, rgba(244, 63, 94, 0.25) 0%, rgba(6, 182, 212, 0.15) 100%);
    border-radius: 12px;
    z-index: 0;
}

.cv-summary-image-frame {
    z-index: 1;
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.cv-summary-image {
    height: 320px;
    object-fit: cover;
    display: block;
    transition: filter 0.15s ease;
}

.cv-summary-image:hover {
    filter: brightness(1.06);
}

.cv-summary-lead {
    font-size: 1rem;
    line-height: 1.65;
}

.cv-key-facts-wrapper {
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-key-facts-title {
    font-size: 0.95rem;
    font-weight: 600;
}

.cv-fact-label {
    color: #94a3b8;
    font-size: 0.775rem;
}

.cv-fact-value {
    color: #f1f5f9;
    font-size: 0.9rem;
}

.cv-btn-primary {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    color: #ffffff !important;
    border: none;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.65rem 1.35rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.cv-btn-primary:hover {
    background: #e11d48;
    box-shadow: 0 4px 15px rgba(244, 63, 94, 0.35);
}

.cv-tabs-nav .cv-tab-btn {
    background-color: #161922;
    color: #94a3b8;
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 6px;
    font-weight: 500;
    font-size: 0.9rem;
    padding: 0.6rem 1.15rem;
    transition: all 0.15s ease;
}

.cv-tabs-nav .cv-tab-btn:hover {
    color: #ffffff;
    background-color: #1e2230;
}

.cv-tabs-nav .cv-tab-btn.active {
    background-color: #f43f5e;
    color: #ffffff;
    border-color: #f43f5e;
    font-weight: 600;
}

.cv-tab-content {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-section-heading {
    color: #f1f5f9;
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.cv-text-paragraph {
    font-size: 0.975rem;
    line-height: 1.7;
    color: #cbd5e1;
}

.cv-highlight-box {
    background-color: #1e2230;
    border-left: 4px solid #f43f5e;
}

.cv-highlight-title {
    font-size: 1.1rem;
    font-weight: 600;
}

.cv-highlight-desc {
    font-size: 0.925rem;
    line-height: 1.6;
}

.cv-styled-list__item {
    color: #cbd5e1;
    font-size: 0.95rem;
    line-height: 1.6;
}

.cv-specs-table-wrapper {
    border-color: rgba(148, 163, 184, 0.15) !important;
}

.cv-specs-table {
    background-color: #0f1117;
}

.cv-specs-table th {
    background-color: #1a1e2a;
    color: #f1f5f9;
    font-size: 0.875rem;
    font-weight: 600;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    padding: 0.75rem 1rem;
}

.cv-specs-table td {
    background-color: #12151d;
    font-size: 0.875rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.1);
    color: #cbd5e1;
}

.cv-analysis-card {
    background-color: #0f1117;
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.cv-analysis-card-title {
    font-size: 1rem;
    font-weight: 600;
}

.cv-analysis-card-text {
    font-size: 0.875rem;
    line-height: 1.55;
}

.cv-cta-card {
    background: linear-gradient(135deg, #161922 0%, #1e2230 100%);
    border: 1px solid rgba(244, 63, 94, 0.35);
    box-shadow: 0 4px 25px rgba(244, 63, 94, 0.12);
}

.cv-cta-icon-wrap {
    width: 52px;
    height: 52px;
    background-color: rgba(244, 63, 94, 0.12);
}

.cv-cta-title {
    font-size: 1.35rem;
    font-weight: 600;
}

.cv-cta-desc {
    font-size: 0.9rem;
    line-height: 1.55;
    color: #cbd5e1;
}

.cv-btn-cta {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    color: #ffffff !important;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.65rem 1.35rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.cv-btn-cta:hover {
    background: #e11d48;
}

.cv-related-card {
    background-color: #161922;
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.cv-related-item {
    border-color: rgba(148, 163, 184, 0.1) !important;
}

.cv-related-link {
    color: #cbd5e1;
    transition: color 0.15s ease, transform 0.15s ease;
}

.cv-related-link:hover {
    color: #06b6d4;
    transform: translateX(4px);
}

.cv-related-title {
    font-size: 0.95rem;
    font-weight: 500;
}

.cv-related-arrow {
    color: #06b6d4;
}

.cv-comments-count-badge {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.15);
}

.cv-comment-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-comment-main {
    border-left: 3px solid #f43f5e;
}

.cv-comment-reply {
    background-color: #12151d;
    border-left: 3px solid #06b6d4;
}

.cv-avatar-box {
    width: 42px;
    height: 42px;
    font-size: 0.85rem;
}

.cv-avatar-rose {
    background: linear-gradient(135deg, #f43f5e 0%, #be123c 100%);
}

.cv-avatar-cyan {
    background: linear-gradient(135deg, #06b6d4 0%, #0e7490 100%);
}

.cv-badge-role {
    background-color: rgba(244, 63, 94, 0.12);
    color: #fb7185;
    font-size: 0.7rem;
    font-weight: 600;
}

.cv-mention-badge {
    background-color: rgba(6, 182, 212, 0.12);
    color: #22d3ee;
    font-size: 0.72rem;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
}

.cv-comment-timestamp {
    color: #64748b;
}

.cv-comment-tile-indicator {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background-color: #f43f5e;
}

.cv-comment-tile-cyan {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background-color: #06b6d4;
}

.cv-comment-content p {
    font-size: 0.885rem;
    line-height: 1.6;
    color: #cbd5e1;
}

.cv-comment-actions {
    border-color: rgba(148, 163, 184, 0.1) !important;
}

.cv-btn-interaction {
    color: #94a3b8;
    font-size: 0.78rem;
    background: none;
    border: none;
    transition: color 0.15s ease;
}

.cv-btn-interaction:hover {
    color: #fb7185;
}

.cv-btn-interaction.is-active .cv-icon-like,
.cv-btn-interaction.is-active .cv-icon-like-cyan {
    color: #f43f5e;
}

.cv-btn-interaction.is-active .cv-like-counter {
    color: #fb7185;
}

.cv-icon-like {
    color: #64748b;
}

.cv-icon-like-cyan {
    color: #64748b;
}

.cv-icon-reply {
    color: #64748b;
}

.cv-status-pill {
    font-size: 0.72rem;
    color: #94a3b8;
}

.cv-comment-form-card {
    background-color: #161922;
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.cv-form-title {
    font-size: 1.15rem;
    font-weight: 600;
}

.cv-form-label {
    color: #cbd5e1;
    font-size: 0.825rem;
    font-weight: 500;
}

.cv-input {
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.2);
    color: #f1f5f9;
    font-size: 0.875rem;
    border-radius: 6px;
}

.cv-input::placeholder {
    color: #64748b;
}

.cv-input:focus {
    background-color: #12151d;
    border-color: #f43f5e;
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, 0.25);
}

.text-rose {
    color: #f43f5e !important;
}

.text-cyan {
    color: #06b6d4 !important;
}

.text-emerald {
    color: #10b981 !important;
}

.text-amber {
    color: #f59e0b !important;
}

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

@media (max-width: 767.98px) {
    .cv-detail-hero__title {
        font-size: 1.125rem;
    }

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

    .cv-cta-title {
        font-size: 0.875rem;
    }

    .cv-summary-image {
        height: 220px;
    }

    .cv-specs-table thead {
        display: none;
    }

    .cv-specs-table,
    .cv-specs-table tbody,
    .cv-specs-table tr,
    .cv-specs-table td {
        display: block;
        width: 100%;
    }

    .cv-specs-table tr {
        margin-bottom: 0.75rem;
        border: 1px solid rgba(148, 163, 184, 0.15);
        border-radius: 6px;
    }

    .cv-specs-table td {
        border-bottom: 1px solid rgba(148, 163, 184, 0.08);
    }

    .cv-comment-reply {
        margin-left: 0.75rem !important;
    }
}

/* ===== PAGE TEMPLATE: smart-home ===== */
.cv-detail-main {
    background-color: #0f1117;
    color: #94a3b8;
    font-family: 'IBM Plex Sans KR', sans-serif;
    min-height: 100vh;
}

.cv-detail-hero {
    background: linear-gradient(180deg, #161922 0%, #0f1117 100%);
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-breadcrumb__link {
    color: #94a3b8;
    text-decoration: none;
    font-size: 0.825rem;
    transition: color 0.15s ease;
}

.cv-breadcrumb__link:hover {
    color: #fb7185;
}

.cv-breadcrumb__item--active {
    color: #cbd5e1;
    font-size: 0.825rem;
    max-width: 320px;
}

.cv-section-tile {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
    flex-shrink: 0;
}

.cv-section-tile--rose {
    background-color: #f43f5e;
}

.cv-section-tile--cyan {
    background-color: #06b6d4;
}

.cv-section-tile--amber {
    background-color: #f59e0b;
}

.cv-badge-category {
    color: #fb7185;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.cv-detail-hero__title {
    color: #f1f5f9;
    font-size: 2.15rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.015em;
    overflow-wrap: anywhere;
}

.cv-detail-hero__subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #cbd5e1;
    max-width: 900px;
}

.cv-summary-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.cv-summary-image-wrapper {
    padding: 0.5rem;
}

.cv-summary-image-backdrop {
    position: absolute;
    top: -8px;
    left: -8px;
    right: 8px;
    bottom: 8px;
    background: linear-gradient(135deg, rgba(244, 63, 94, 0.25) 0%, rgba(6, 182, 212, 0.15) 100%);
    border-radius: 12px;
    z-index: 0;
}

.cv-summary-image-frame {
    z-index: 1;
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.cv-summary-image {
    height: 320px;
    object-fit: cover;
    display: block;
    transition: filter 0.15s ease;
}

.cv-summary-image:hover {
    filter: brightness(1.06);
}

.cv-summary-lead {
    font-size: 1rem;
    line-height: 1.65;
}

.cv-key-facts-wrapper {
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-key-facts-title {
    font-size: 0.95rem;
    font-weight: 600;
}

.cv-fact-label {
    color: #94a3b8;
    font-size: 0.775rem;
}

.cv-fact-value {
    color: #f1f5f9;
    font-size: 0.9rem;
}

.cv-btn-primary {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    color: #ffffff !important;
    border: none;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.65rem 1.35rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.cv-btn-primary:hover {
    background: #e11d48;
    box-shadow: 0 4px 15px rgba(244, 63, 94, 0.35);
}

.cv-tabs-nav .cv-tab-btn {
    background-color: #161922;
    color: #94a3b8;
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 6px;
    font-weight: 500;
    font-size: 0.9rem;
    padding: 0.6rem 1.15rem;
    transition: all 0.15s ease;
}

.cv-tabs-nav .cv-tab-btn:hover {
    color: #ffffff;
    background-color: #1e2230;
}

.cv-tabs-nav .cv-tab-btn.active {
    background-color: #f43f5e;
    color: #ffffff;
    border-color: #f43f5e;
    font-weight: 600;
}

.cv-tab-content {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-section-heading {
    color: #f1f5f9;
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.cv-text-paragraph {
    font-size: 0.975rem;
    line-height: 1.7;
    color: #cbd5e1;
}

.cv-highlight-box {
    background-color: #1e2230;
    border-left: 4px solid #f43f5e;
}

.cv-highlight-title {
    font-size: 1.1rem;
    font-weight: 600;
}

.cv-highlight-desc {
    font-size: 0.925rem;
    line-height: 1.6;
}

.cv-styled-list__item {
    color: #cbd5e1;
    font-size: 0.95rem;
    line-height: 1.6;
}

.cv-specs-table-wrapper {
    border-color: rgba(148, 163, 184, 0.15) !important;
}

.cv-specs-table {
    background-color: #0f1117;
}

.cv-specs-table th {
    background-color: #1a1e2a;
    color: #f1f5f9;
    font-size: 0.875rem;
    font-weight: 600;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    padding: 0.75rem 1rem;
}

.cv-specs-table td {
    background-color: #12151d;
    font-size: 0.875rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.1);
    color: #cbd5e1;
}

.cv-analysis-card {
    background-color: #0f1117;
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.cv-analysis-card-title {
    font-size: 1rem;
    font-weight: 600;
}

.cv-analysis-card-text {
    font-size: 0.875rem;
    line-height: 1.55;
}

.cv-cta-card {
    background: linear-gradient(135deg, #161922 0%, #1e2230 100%);
    border: 1px solid rgba(244, 63, 94, 0.35);
    box-shadow: 0 4px 25px rgba(244, 63, 94, 0.12);
}

.cv-cta-icon-wrap {
    width: 52px;
    height: 52px;
    background-color: rgba(244, 63, 94, 0.12);
}

.cv-cta-title {
    font-size: 1.35rem;
    font-weight: 600;
}

.cv-cta-desc {
    font-size: 0.9rem;
    line-height: 1.55;
    color: #cbd5e1;
}

.cv-btn-cta {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    color: #ffffff !important;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.65rem 1.35rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.cv-btn-cta:hover {
    background: #e11d48;
}

.cv-related-card {
    background-color: #161922;
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.cv-related-item {
    border-color: rgba(148, 163, 184, 0.1) !important;
}

.cv-related-link {
    color: #cbd5e1;
    transition: color 0.15s ease, transform 0.15s ease;
}

.cv-related-link:hover {
    color: #06b6d4;
    transform: translateX(4px);
}

.cv-related-title {
    font-size: 0.95rem;
    font-weight: 500;
}

.cv-related-arrow {
    color: #06b6d4;
}

.cv-comments-count-badge {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.15);
}

.cv-comment-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-comment-main {
    border-left: 3px solid #f43f5e;
}

.cv-comment-reply {
    background-color: #12151d;
    border-left: 3px solid #06b6d4;
}

.cv-avatar-box {
    width: 42px;
    height: 42px;
    font-size: 0.85rem;
}

.cv-avatar-rose {
    background: linear-gradient(135deg, #f43f5e 0%, #be123c 100%);
}

.cv-avatar-cyan {
    background: linear-gradient(135deg, #06b6d4 0%, #0e7490 100%);
}

.cv-badge-role {
    background-color: rgba(244, 63, 94, 0.12);
    color: #fb7185;
    font-size: 0.7rem;
    font-weight: 600;
}

.cv-mention-badge {
    background-color: rgba(6, 182, 212, 0.12);
    color: #22d3ee;
    font-size: 0.72rem;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
}

.cv-comment-timestamp {
    color: #64748b;
}

.cv-comment-tile-indicator {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background-color: #f43f5e;
}

.cv-comment-tile-cyan {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background-color: #06b6d4;
}

.cv-comment-content p {
    font-size: 0.885rem;
    line-height: 1.6;
    color: #cbd5e1;
}

.cv-comment-actions {
    border-color: rgba(148, 163, 184, 0.1) !important;
}

.cv-btn-interaction {
    color: #94a3b8;
    font-size: 0.78rem;
    background: none;
    border: none;
    transition: color 0.15s ease;
}

.cv-btn-interaction:hover {
    color: #fb7185;
}

.cv-btn-interaction.is-active .cv-icon-like,
.cv-btn-interaction.is-active .cv-icon-like-cyan {
    color: #f43f5e;
}

.cv-btn-interaction.is-active .cv-like-counter {
    color: #fb7185;
}

.cv-icon-like {
    color: #64748b;
}

.cv-icon-like-cyan {
    color: #64748b;
}

.cv-icon-reply {
    color: #64748b;
}

.cv-status-pill {
    font-size: 0.72rem;
    color: #94a3b8;
}

.cv-comment-form-card {
    background-color: #161922;
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.cv-form-title {
    font-size: 1.15rem;
    font-weight: 600;
}

.cv-form-label {
    color: #cbd5e1;
    font-size: 0.825rem;
    font-weight: 500;
}

.cv-input {
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.2);
    color: #f1f5f9;
    font-size: 0.875rem;
    border-radius: 6px;
}

.cv-input::placeholder {
    color: #64748b;
}

.cv-input:focus {
    background-color: #12151d;
    border-color: #f43f5e;
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, 0.25);
}

.text-rose {
    color: #f43f5e !important;
}

.text-cyan {
    color: #06b6d4 !important;
}

.text-emerald {
    color: #10b981 !important;
}

.text-amber {
    color: #f59e0b !important;
}

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

@media (max-width: 767.98px) {
    .cv-detail-hero__title {
        font-size: 1.125rem;
    }

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

    .cv-cta-title {
        font-size: 0.875rem;
    }

    .cv-summary-image {
        height: 220px;
    }

    .cv-specs-table thead {
        display: none;
    }

    .cv-specs-table,
    .cv-specs-table tbody,
    .cv-specs-table tr,
    .cv-specs-table td {
        display: block;
        width: 100%;
    }

    .cv-specs-table tr {
        margin-bottom: 0.75rem;
        border: 1px solid rgba(148, 163, 184, 0.15);
        border-radius: 6px;
    }

    .cv-specs-table td {
        border-bottom: 1px solid rgba(148, 163, 184, 0.08);
    }

    .cv-comment-reply {
        margin-left: 0.75rem !important;
    }
}

/* ===== PAGE TEMPLATE: electrical-engineering ===== */
.cv-detail-main {
    background-color: #0f1117;
    color: #94a3b8;
    font-family: 'IBM Plex Sans KR', sans-serif;
    min-height: 100vh;
}

.cv-detail-hero {
    background: linear-gradient(180deg, #161922 0%, #0f1117 100%);
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-breadcrumb__link {
    color: #94a3b8;
    text-decoration: none;
    font-size: 0.825rem;
    transition: color 0.15s ease;
}

.cv-breadcrumb__link:hover {
    color: #fb7185;
}

.cv-breadcrumb__item--active {
    color: #cbd5e1;
    font-size: 0.825rem;
    max-width: 320px;
}

.cv-section-tile {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
    flex-shrink: 0;
}

.cv-section-tile--rose {
    background-color: #f43f5e;
}

.cv-section-tile--cyan {
    background-color: #06b6d4;
}

.cv-section-tile--amber {
    background-color: #f59e0b;
}

.cv-badge-category {
    color: #fb7185;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.cv-detail-hero__title {
    color: #f1f5f9;
    font-size: 2.15rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.015em;
    overflow-wrap: anywhere;
}

.cv-detail-hero__subtitle {
    font-size: 1.05rem;
    line-height: 1.6;
    color: #cbd5e1;
    max-width: 900px;
}

.cv-summary-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.cv-summary-image-wrapper {
    padding: 0.5rem;
}

.cv-summary-image-backdrop {
    position: absolute;
    top: -8px;
    left: -8px;
    right: 8px;
    bottom: 8px;
    background: linear-gradient(135deg, rgba(244, 63, 94, 0.25) 0%, rgba(6, 182, 212, 0.15) 100%);
    border-radius: 12px;
    z-index: 0;
}

.cv-summary-image-frame {
    z-index: 1;
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.2);
}

.cv-summary-image {
    height: 320px;
    object-fit: cover;
    display: block;
    transition: filter 0.15s ease;
}

.cv-summary-image:hover {
    filter: brightness(1.06);
}

.cv-summary-lead {
    font-size: 1rem;
    line-height: 1.65;
}

.cv-key-facts-wrapper {
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-key-facts-title {
    font-size: 0.95rem;
    font-weight: 600;
}

.cv-fact-label {
    color: #94a3b8;
    font-size: 0.775rem;
}

.cv-fact-value {
    color: #f1f5f9;
    font-size: 0.9rem;
}

.cv-btn-primary {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    color: #ffffff !important;
    border: none;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.65rem 1.35rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.cv-btn-primary:hover {
    background: #e11d48;
    box-shadow: 0 4px 15px rgba(244, 63, 94, 0.35);
}

.cv-tabs-nav .cv-tab-btn {
    background-color: #161922;
    color: #94a3b8;
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 6px;
    font-weight: 500;
    font-size: 0.9rem;
    padding: 0.6rem 1.15rem;
    transition: all 0.15s ease;
}

.cv-tabs-nav .cv-tab-btn:hover {
    color: #ffffff;
    background-color: #1e2230;
}

.cv-tabs-nav .cv-tab-btn.active {
    background-color: #f43f5e;
    color: #ffffff;
    border-color: #f43f5e;
    font-weight: 600;
}

.cv-tab-content {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-section-heading {
    color: #f1f5f9;
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.cv-text-paragraph {
    font-size: 0.975rem;
    line-height: 1.7;
    color: #cbd5e1;
}

.cv-highlight-box {
    background-color: #1e2230;
    border-left: 4px solid #f43f5e;
}

.cv-highlight-title {
    font-size: 1.1rem;
    font-weight: 600;
}

.cv-highlight-desc {
    font-size: 0.925rem;
    line-height: 1.6;
}

.cv-styled-list__item {
    color: #cbd5e1;
    font-size: 0.95rem;
    line-height: 1.6;
}

.cv-specs-table-wrapper {
    border-color: rgba(148, 163, 184, 0.15) !important;
}

.cv-specs-table {
    background-color: #0f1117;
}

.cv-specs-table th {
    background-color: #1a1e2a;
    color: #f1f5f9;
    font-size: 0.875rem;
    font-weight: 600;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    padding: 0.75rem 1rem;
}

.cv-specs-table td {
    background-color: #12151d;
    font-size: 0.875rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.1);
    color: #cbd5e1;
}

.cv-analysis-card {
    background-color: #0f1117;
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.cv-analysis-card-title {
    font-size: 1rem;
    font-weight: 600;
}

.cv-analysis-card-text {
    font-size: 0.875rem;
    line-height: 1.55;
}

.cv-cta-card {
    background: linear-gradient(135deg, #161922 0%, #1e2230 100%);
    border: 1px solid rgba(244, 63, 94, 0.35);
    box-shadow: 0 4px 25px rgba(244, 63, 94, 0.12);
}

.cv-cta-icon-wrap {
    width: 52px;
    height: 52px;
    background-color: rgba(244, 63, 94, 0.12);
}

.cv-cta-title {
    font-size: 1.35rem;
    font-weight: 600;
}

.cv-cta-desc {
    font-size: 0.9rem;
    line-height: 1.55;
    color: #cbd5e1;
}

.cv-btn-cta {
    background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
    color: #ffffff !important;
    font-weight: 600;
    font-size: 0.9rem;
    padding: 0.65rem 1.35rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.cv-btn-cta:hover {
    background: #e11d48;
}

.cv-related-card {
    background-color: #161922;
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.cv-related-item {
    border-color: rgba(148, 163, 184, 0.1) !important;
}

.cv-related-link {
    color: #cbd5e1;
    transition: color 0.15s ease, transform 0.15s ease;
}

.cv-related-link:hover {
    color: #06b6d4;
    transform: translateX(4px);
}

.cv-related-title {
    font-size: 0.95rem;
    font-weight: 500;
}

.cv-related-arrow {
    color: #06b6d4;
}

.cv-comments-count-badge {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.15);
}

.cv-comment-card {
    background-color: #161922;
    border: 1px solid rgba(148, 163, 184, 0.12);
}

.cv-comment-main {
    border-left: 3px solid #f43f5e;
}

.cv-comment-reply {
    background-color: #12151d;
    border-left: 3px solid #06b6d4;
}

.cv-avatar-box {
    width: 42px;
    height: 42px;
    font-size: 0.85rem;
}

.cv-avatar-rose {
    background: linear-gradient(135deg, #f43f5e 0%, #be123c 100%);
}

.cv-avatar-cyan {
    background: linear-gradient(135deg, #06b6d4 0%, #0e7490 100%);
}

.cv-badge-role {
    background-color: rgba(244, 63, 94, 0.12);
    color: #fb7185;
    font-size: 0.7rem;
    font-weight: 600;
}

.cv-mention-badge {
    background-color: rgba(6, 182, 212, 0.12);
    color: #22d3ee;
    font-size: 0.72rem;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
}

.cv-comment-timestamp {
    color: #64748b;
}

.cv-comment-tile-indicator {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background-color: #f43f5e;
}

.cv-comment-tile-cyan {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background-color: #06b6d4;
}

.cv-comment-content p {
    font-size: 0.885rem;
    line-height: 1.6;
    color: #cbd5e1;
}

.cv-comment-actions {
    border-color: rgba(148, 163, 184, 0.1) !important;
}

.cv-btn-interaction {
    color: #94a3b8;
    font-size: 0.78rem;
    background: none;
    border: none;
    transition: color 0.15s ease;
}

.cv-btn-interaction:hover {
    color: #fb7185;
}

.cv-btn-interaction.is-active .cv-icon-like,
.cv-btn-interaction.is-active .cv-icon-like-cyan {
    color: #f43f5e;
}

.cv-btn-interaction.is-active .cv-like-counter {
    color: #fb7185;
}

.cv-icon-like {
    color: #64748b;
}

.cv-icon-like-cyan {
    color: #64748b;
}

.cv-icon-reply {
    color: #64748b;
}

.cv-status-pill {
    font-size: 0.72rem;
    color: #94a3b8;
}

.cv-comment-form-card {
    background-color: #161922;
    border-color: rgba(148, 163, 184, 0.12) !important;
}

.cv-form-title {
    font-size: 1.15rem;
    font-weight: 600;
}

.cv-form-label {
    color: #cbd5e1;
    font-size: 0.825rem;
    font-weight: 500;
}

.cv-input {
    background-color: #0f1117;
    border: 1px solid rgba(148, 163, 184, 0.2);
    color: #f1f5f9;
    font-size: 0.875rem;
    border-radius: 6px;
}

.cv-input::placeholder {
    color: #64748b;
}

.cv-input:focus {
    background-color: #12151d;
    border-color: #f43f5e;
    color: #ffffff;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, 0.25);
}

.text-rose {
    color: #f43f5e !important;
}

.text-cyan {
    color: #06b6d4 !important;
}

.text-emerald {
    color: #10b981 !important;
}

.text-amber {
    color: #f59e0b !important;
}

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

@media (max-width: 767.98px) {
    .cv-detail-hero__title {
        font-size: 1.125rem;
    }

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

    .cv-cta-title {
        font-size: 0.875rem;
    }

    .cv-summary-image {
        height: 220px;
    }

    .cv-specs-table thead {
        display: none;
    }

    .cv-specs-table,
    .cv-specs-table tbody,
    .cv-specs-table tr,
    .cv-specs-table td {
        display: block;
        width: 100%;
    }

    .cv-specs-table tr {
        margin-bottom: 0.75rem;
        border: 1px solid rgba(148, 163, 184, 0.15);
        border-radius: 6px;
    }

    .cv-specs-table td {
        border-bottom: 1px solid rgba(148, 163, 184, 0.08);
    }

    .cv-comment-reply {
        margin-left: 0.75rem !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%;
  }
}

/* comments layout fix */
.cv-comment-card,
.cv-comment-card .flex-grow-1 {
  min-width: 0;
}

.cv-comment-author-name,
.cv-badge-role,
.cv-mention-badge,
.cv-comment-timestamp,
.cv-status-pill,
.cv-comment-content,
.cv-comment-content p {
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
}

.cv-comment-actions {
  flex-wrap: wrap;
  row-gap: 0.5rem;
}

@media (max-width: 575.98px) {
  .cv-comment-card .d-flex.align-items-start {
    gap: 0.65rem !important;
  }

  .cv-avatar-box {
    width: 36px;
    height: 36px;
    min-width: 36px;
    font-size: 0.8rem;
  }
}
