/*
Theme Name: GeneratePress Child — IT-News
Theme URI: https://news.sw4u.kr/
Description: news.sw4u.kr — 머스크 뉴스 데일리. GeneratePress child with newsroom-style front page.
Author: sw4u
Template: generatepress
Version: 0.1.0
Text Domain: generatepress-child
*/

/* ─────────────────────────────────────────────────────────────
 * Inlined sw4u brand tokens (subset of .design/tokens.css)
 * ───────────────────────────────────────────────────────────── */
:root {
    --font-sans:
        'Pretendard Variable', Pretendard,
        -apple-system, BlinkMacSystemFont, 'system-ui',
        'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic',
        'Segoe UI', Roboto, sans-serif;
    --font-serif:
        'Noto Serif KR', 'Nanum Myeongjo', Georgia, 'Times New Roman', serif;

    --news-ink:        #0b1220;
    --news-ink-2:      #1f2937;
    --news-muted:      #6b7280;
    --news-subtle:     #9ca3af;
    --news-line:       #e5e7eb;
    --news-line-strong:#d1d5db;
    --news-bg:         #ffffff;
    --news-surface:    #f8fafc;
    --news-surface-2:  #f1f5f9;

    --news-brand:      #0369a1; /* sky-700 — 진중한 톤 */
    --news-brand-soft: #e0f2fe;
    --news-accent:     #0ea5e9;
    --news-breaking:   #dc2626; /* news red */
    --news-breaking-bg:#fee2e2;

    --shadow-card: 0 1px 2px rgb(0 0 0 / 0.04), 0 1px 3px rgb(0 0 0 / 0.06);
    --shadow-hover: 0 6px 16px -4px rgb(0 0 0 / 0.12);
}

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@500;700;900&display=swap');

/* ─────────────────────────────────────────────────────────────
 * Newsroom front page
 * ───────────────────────────────────────────────────────────── */
body.home .site-content,
body.home #primary,
body.home .site-main {
    background: var(--news-bg);
}

body.home .site-main > *:not(.news-front) {
    /* GeneratePress 의 기본 아카이브 마크업은 home 페이지에서 숨김 */
    display: none !important;
}

.news-front {
    font-family: var(--font-sans);
    color: var(--news-ink);
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px 64px;
    line-height: 1.55;
    letter-spacing: -0.01em;
    /* 한국어 단어 중간에서 줄바꿈 금지 ("1시간 전" 이 "1시" / "간 전" 으로 깨지는 문제) */
    word-break: keep-all;
    overflow-wrap: break-word;
}

/* 모바일에서 마퀴/긴 제목 등이 viewport 를 밀어내지 않도록 안전망.
 * GP 의 .site-content 는 display:flex 라서 .news-front 가 flex item.
 * 마퀴 inner 의 min-content (~6000px) 때문에 flex item 의 min-width: auto
 * 가 컨테이너를 1200px 까지 부풀린다. min-width: 0 으로 줄어들게 허용. */
body.home { overflow-x: hidden; }
.news-front,
.news-front * { min-width: 0; }
.news-front { max-width: min(1200px, 100%); }
.news-front img,
.news-front svg,
.news-front video { max-width: 100%; height: auto; }

/* ── Masthead utility bar ──────────────────────────────────── */
.news-masthead {
    border-top: 4px double var(--news-ink);
    border-bottom: 1px solid var(--news-line);
    padding: 18px 0 14px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px 20px;
    margin-bottom: 28px;
}
.news-masthead__brand {
    font-family: var(--font-serif);
    font-weight: 900;
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    letter-spacing: -0.03em;
    color: var(--news-ink);
    line-height: 1;
    margin-right: auto;
}
.news-masthead__brand .dot {
    color: var(--news-breaking);
}
.news-masthead__meta {
    font-size: 0.8125rem;
    color: var(--news-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    align-items: center;
}
.news-masthead__meta strong {
    color: var(--news-ink-2);
    font-weight: 600;
}
.news-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--news-brand-soft);
    color: var(--news-brand);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.news-pill--live {
    background: var(--news-breaking-bg);
    color: var(--news-breaking);
}
.news-pill--live::before {
    content: "";
    width: 7px; height: 7px; border-radius: 999px;
    background: var(--news-breaking);
    box-shadow: 0 0 0 0 rgba(220,38,38,0.6);
    animation: news-pulse 1.8s infinite;
}
@keyframes news-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(220,38,38,0.5); }
    70%  { box-shadow: 0 0 0 8px rgba(220,38,38,0); }
    100% { box-shadow: 0 0 0 0 rgba(220,38,38,0); }
}

/* ── Ticker (속보 띠) ───────────────────────────────────────── */
.news-ticker {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--news-ink);
    color: #fff;
    padding: 10px 16px;
    border-radius: 4px;
    margin-bottom: 28px;
    overflow: hidden;
    font-size: 0.875rem;
}
.news-ticker__label {
    flex: 0 0 auto;
    font-weight: 800;
    letter-spacing: 0.06em;
    background: var(--news-breaking);
    color: #fff;
    padding: 4px 10px;
    border-radius: 2px;
    font-size: 0.75rem;
}
.news-ticker__track {
    flex: 1 1 auto;
    overflow: hidden;
    white-space: nowrap;
    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.news-ticker__inner {
    display: inline-block;
    padding-left: 100%;
    animation: news-marquee 40s linear infinite;
}
.news-ticker__inner span {
    display: inline-block;
    margin-right: 36px;
    opacity: 0.92;
}
.news-ticker__inner span::before {
    content: "●";
    color: var(--news-breaking);
    margin-right: 10px;
    font-size: 0.6em;
    vertical-align: middle;
}
.news-ticker a { color: #fff; text-decoration: none; }
.news-ticker a:hover { text-decoration: underline; }
@keyframes news-marquee {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}

/* ── Hero / Lead ───────────────────────────────────────────── */
.news-lead {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 36px;
    padding-bottom: 32px;
    margin-bottom: 32px;
    border-bottom: 1px solid var(--news-line);
}
@media (max-width: 860px) {
    .news-lead { grid-template-columns: 1fr; gap: 28px; }
}

.news-lead__main {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.news-cat {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--news-brand);
}
.news-cat::before {
    content: "";
    width: 18px; height: 2px;
    background: var(--news-brand);
}
.news-cat--hot { color: var(--news-breaking); }
.news-cat--hot::before { background: var(--news-breaking); }

.news-lead__headline {
    font-family: var(--font-serif);
    font-weight: 900;
    font-size: clamp(1.75rem, 3.6vw, 2.6rem);
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--news-ink);
    margin: 0;
}
.news-lead__headline a {
    color: inherit;
    text-decoration: none;
    background-image: linear-gradient(transparent 88%, rgba(3,105,161,0.18) 88%);
    background-size: 0 100%;
    background-repeat: no-repeat;
    transition: background-size 240ms ease;
}
.news-lead__headline a:hover {
    background-size: 100% 100%;
}
.news-lead__excerpt {
    font-size: 1.0625rem;
    color: var(--news-ink-2);
    line-height: 1.65;
    margin: 0;
}
.news-byline {
    font-size: 0.8125rem;
    color: var(--news-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    align-items: center;
}
.news-byline time { font-variant-numeric: tabular-nums; }
.news-byline strong { color: var(--news-ink-2); font-weight: 600; }

.news-lead__visual {
    position: relative;
    aspect-ratio: 16/10;
    border-radius: 8px;
    overflow: hidden;
    background:
        radial-gradient(120% 80% at 0% 0%, rgba(255,255,255,0.18), transparent 60%),
        linear-gradient(135deg, #0c4a6e 0%, #0369a1 55%, #0ea5e9 100%);
    color: #fff;
    padding: 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: var(--shadow-card);
}
.news-lead__visual::after {
    content: "MUSK / TECH";
    position: absolute;
    right: -10px;
    bottom: -10px;
    font-family: var(--font-serif);
    font-weight: 900;
    font-size: 5.5rem;
    line-height: 1;
    color: rgba(255,255,255,0.07);
    letter-spacing: -0.04em;
    pointer-events: none;
}
.news-lead__visual-eyebrow {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: rgba(255,255,255,0.7);
}
.news-lead__visual-quote {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.4;
    z-index: 1;
}

/* ── Side rail: "이 시간 톱뉴스" ───────────────────────────── */
.news-rail {
    border-top: 3px solid var(--news-ink);
    padding-top: 12px;
}
.news-rail__title {
    font-family: var(--font-serif);
    font-weight: 900;
    font-size: 1rem;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}
.news-rail__title small {
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 0.7rem;
    color: var(--news-muted);
    letter-spacing: 0.04em;
}
.news-rail ol {
    list-style: none;
    margin: 0; padding: 0;
    counter-reset: rail;
}
.news-rail li {
    counter-increment: rail;
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid var(--news-line);
}
.news-rail li:last-child { border-bottom: 0; }
.news-rail li::before {
    content: counter(rail);
    font-family: var(--font-serif);
    font-weight: 900;
    font-size: 1.25rem;
    color: var(--news-brand);
    line-height: 1;
    padding-top: 2px;
}
.news-rail a {
    color: var(--news-ink);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.4;
    display: block;
}
.news-rail a:hover { color: var(--news-brand); }
.news-rail__meta {
    margin-top: 4px;
    font-size: 0.72rem;
    color: var(--news-muted);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

/* ── Section ───────────────────────────────────────────────── */
.news-section {
    margin-top: 40px;
}
.news-section__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--news-ink);
}
.news-section__title {
    font-family: var(--font-serif);
    font-weight: 900;
    font-size: 1.5rem;
    letter-spacing: -0.02em;
    margin: 0;
}
.news-section__title span {
    color: var(--news-brand);
    margin-left: 8px;
    font-size: 0.875rem;
    font-family: var(--font-sans);
    font-weight: 600;
    letter-spacing: 0.04em;
}
.news-section__more {
    font-size: 0.8125rem;
    color: var(--news-muted);
    text-decoration: none;
    font-weight: 600;
}
.news-section__more:hover { color: var(--news-brand); }
.news-section__more::after {
    content: " →";
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
@media (max-width: 860px) {
    .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 560px) {
    .news-grid { grid-template-columns: 1fr; }
}

.news-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0;
}
.news-card__cat {
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--news-brand);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.news-card__title {
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.35;
    letter-spacing: -0.015em;
    margin: 0;
}
.news-card__title a {
    color: var(--news-ink);
    text-decoration: none;
}
.news-card__title a:hover { color: var(--news-brand); }
.news-card__excerpt {
    font-size: 0.9rem;
    color: var(--news-ink-2);
    line-height: 1.55;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.news-card__meta {
    margin-top: auto;
    padding-top: 8px;
    font-size: 0.75rem;
    color: var(--news-muted);
    font-variant-numeric: tabular-nums;
}

/* lead 카드 (섹션 첫 카드 강조용) */
.news-grid--lead .news-card:first-child {
    grid-column: span 2;
}
.news-grid--lead .news-card:first-child .news-card__title {
    font-size: 1.45rem;
    line-height: 1.3;
}
.news-grid--lead .news-card:first-child .news-card__visual {
    aspect-ratio: 16/9;
    border-radius: 6px;
    margin-bottom: 6px;
    background:
        linear-gradient(135deg, #1e293b 0%, #334155 100%);
    position: relative;
    overflow: hidden;
}
@media (max-width: 860px) {
    .news-grid--lead .news-card:first-child { grid-column: span 2; }
}
@media (max-width: 560px) {
    .news-grid--lead .news-card:first-child { grid-column: span 1; }
}

/* ── Schedule banner ───────────────────────────────────────── */
.news-schedule {
    margin: 40px 0 16px;
    padding: 18px 22px;
    border: 1px solid var(--news-line);
    border-left: 4px solid var(--news-brand);
    background: var(--news-surface);
    display: flex;
    flex-wrap: wrap;
    gap: 12px 28px;
    align-items: center;
    border-radius: 4px;
}
.news-schedule__title {
    font-family: var(--font-serif);
    font-weight: 800;
    font-size: 1rem;
    margin: 0 0 10px;
    color: var(--news-ink);
    line-height: 1.3;
}
.news-schedule__times {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    font-size: 0.875rem;
}
.news-schedule__time {
    background: #fff;
    border: 1px solid var(--news-line);
    padding: 6px 12px;
    border-radius: 4px;
    font-weight: 600;
    color: var(--news-ink-2);
    font-variant-numeric: tabular-nums;
}
.news-schedule__time strong {
    color: var(--news-brand);
    margin-right: 4px;
}
.news-schedule__note {
    font-size: 0.8125rem;
    color: var(--news-muted);
    margin-left: auto;
}

/* ── Sitewide header tweaks (논조 약화, 카드 잔영 제거) ─── */
.home .inside-header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.home .site-branding .site-description { display: none; }
/* GP utility bar 슬림화 (designer §2.1) */
.home .site-header { padding: 6px 0; }
.home .site-header .header-image { max-height: 28px; width: auto; }
.home .site-branding .main-title { font-size: 0.95rem; line-height: 1.2; }
.home .main-navigation { border: 0; min-height: 0; }
.home .main-navigation .main-nav ul li a {
    font-size: 0.875rem;
    letter-spacing: 0.02em;
    padding: 12px 14px;
}

/* ─────────────────────────────────────────────────────────────
 * Designer v0.1.0 — 개선 시안 반영 (typography 격상 / 컬럼 룰 / schedule v2)
 * ───────────────────────────────────────────────────────────── */

/* 부제목 영문 워드마크 */
.news-masthead__brand small {
    display: block;
    margin-top: 6px;
    font-family: var(--font-sans);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    color: var(--news-muted);
    text-transform: uppercase;
}
.news-masthead__brand {
    line-height: 1;
}

/* 리드 헤드라인 — 더 크고 무겁게, deck 은 serif */
.news-lead__headline {
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    line-height: 1.15;
    letter-spacing: -0.025em;
}
.news-lead__excerpt {
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: clamp(1.0625rem, 1.4vw, 1.2rem);
    line-height: 1.55;
    color: var(--news-ink-2);
}
.news-byline {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--news-ink-2);
}
.news-byline strong,
.news-byline time {
    letter-spacing: 0;
    text-transform: none;
}

/* 그리드 컬럼 룰 — NYT/조선 1면 톤 */
.news-grid {
    gap: 0 0;
}
.news-grid > .news-card {
    padding: 0 24px;
    border-right: 1px solid var(--news-line);
}
.news-grid > .news-card:first-child { padding-left: 0; }
.news-grid > .news-card:nth-child(3n) { border-right: 0; padding-right: 0; }
.news-grid > .news-card:last-child { border-right: 0; padding-right: 0; }
/* lead 그리드: 첫 카드가 2열 spanning → 오른쪽 룰 살림 */
.news-grid--lead > .news-card:first-child {
    padding-left: 0;
    padding-right: 24px;
    border-right: 1px solid var(--news-line);
}
/* 그리드는 가로 룰도 + 행 사이 간격 */
.news-grid > .news-card { padding-bottom: 28px; padding-top: 4px; }

@media (max-width: 860px) {
    .news-grid > .news-card { padding: 0 16px 24px; }
    .news-grid > .news-card:first-child { padding-left: 0; }
    .news-grid > .news-card:nth-child(2n) { border-right: 0; padding-right: 0; }
    .news-grid > .news-card:nth-child(2n+1) { border-right: 1px solid var(--news-line); }
    .news-grid > .news-card:last-child { border-right: 0; }
    .news-grid--lead > .news-card:first-child {
        padding-right: 0;
        border-right: 0;
        padding-bottom: 28px;
        border-bottom: 1px solid var(--news-line);
        margin-bottom: 8px;
    }
}
@media (max-width: 560px) {
    .news-grid > .news-card {
        padding: 16px 0;
        border-right: 0 !important;
        border-bottom: 1px solid var(--news-line);
    }
    .news-grid > .news-card:last-child { border-bottom: 0; }
}

/* 발행 일정 배너 v2 — 시계 아이콘 + 2-track */
.news-schedule {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    flex-wrap: nowrap;
}
.news-schedule__icon {
    color: var(--news-brand);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: var(--news-brand-soft);
    flex: 0 0 auto;
    margin-top: 2px;
}
.news-schedule__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
}
.news-schedule__tracks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.news-schedule__track {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 12px;
    align-items: center;
    padding: 8px 0;
    border-top: 1px solid var(--news-line);
}
.news-schedule__track:first-child { border-top: 0; padding-top: 2px; }
.news-schedule__track-cat {
    font-family: var(--font-serif);
    font-weight: 800;
    font-size: 0.9rem;
    color: var(--news-ink);
    letter-spacing: -0.01em;
}
.news-schedule__times {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.news-schedule__time {
    background: #fff;
    border: 1px solid var(--news-line);
    padding: 5px 10px;
    border-radius: 4px;
    font-weight: 600;
    color: var(--news-ink-2);
    font-variant-numeric: tabular-nums;
    font-size: 0.8125rem;
}
.news-schedule__time strong {
    color: var(--news-brand);
    margin-right: 4px;
    font-weight: 700;
}
@media (max-width: 560px) {
    .news-schedule { gap: 12px; }
    .news-schedule__track { grid-template-columns: 1fr; gap: 6px; }
}

/* reduced-motion: 마퀴/펄스/transition 정지 */
@media (prefers-reduced-motion: reduce) {
    .news-ticker__inner { animation: none; padding-left: 0; }
    .news-pill--live::before { animation: none; }
    .theme-toggle { transition: none; }
}

/* ─────────────────────────────────────────────────────────────
 * Theme toggle 버튼 (designer news-toggle.md §2)
 * ───────────────────────────────────────────────────────────── */
.menu-item--theme-toggle {
    display: inline-flex;
    align-items: center;
}
.theme-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    border: 1px solid var(--news-line);
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--news-ink-2);
    font-family: var(--font-sans);
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
}
.theme-toggle:hover {
    background: var(--news-surface);
    color: var(--news-brand);
    border-color: var(--news-brand);
}
.theme-toggle:focus-visible {
    outline: 2px solid var(--news-brand);
    outline-offset: 2px;
}
.theme-toggle__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
}
.theme-toggle__icon--moon { display: none; }
[data-theme="dark"] .theme-toggle__icon--sun  { display: none; }
[data-theme="dark"] .theme-toggle__icon--moon { display: inline-flex; }
@media (max-width: 768px) {
    .toggled .theme-toggle { margin: 8px 16px; }
}

/* ─────────────────────────────────────────────────────────────
 * Dark theme override — designer news-dark.css 그대로 inline
 * (작성: designer / 2026-05-17 / news-dark.css v0.1.0)
 * ───────────────────────────────────────────────────────────── */
[data-theme="dark"] {
    --news-bg:          #0b1220;
    --news-surface:     #0f172a;
    --news-surface-2:   #172033;
    --news-ink:         #f1f5f9;
    --news-ink-2:       #e5e7eb;
    --news-muted:       #94a3b8;
    --news-subtle:      #64748b;
    --news-line:        #1f2a44;
    --news-line-strong: #2c3a5e;
    --news-brand:       #38bdf8;
    --news-brand-soft:  #0c2540;
    --news-accent:      #7dd3fc;
    --news-breaking:    #f87171;
    --news-breaking-bg: #3a1212;
    --shadow-card:      0 0 0 1px rgb(255 255 255 / 0.04) inset;
    --shadow-hover:
        0 6px 16px -4px rgb(0 0 0 / 0.55),
        0 0 0 1px rgb(125 211 252 / 0.15);
    color-scheme: dark;
}

/* JS 없을 때도 OS 다크 사용자에게 다크 적용 */
@media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]):not([data-theme="dark"]) {
        --news-bg:          #0b1220;
        --news-surface:     #0f172a;
        --news-surface-2:   #172033;
        --news-ink:         #f1f5f9;
        --news-ink-2:       #e5e7eb;
        --news-muted:       #94a3b8;
        --news-subtle:      #64748b;
        --news-line:        #1f2a44;
        --news-line-strong: #2c3a5e;
        --news-brand:       #38bdf8;
        --news-brand-soft:  #0c2540;
        --news-accent:      #7dd3fc;
        --news-breaking:    #f87171;
        --news-breaking-bg: #3a1212;
        --shadow-card:      0 0 0 1px rgb(255 255 255 / 0.04) inset;
        --shadow-hover:
            0 6px 16px -4px rgb(0 0 0 / 0.55),
            0 0 0 1px rgb(125 211 252 / 0.15);
        color-scheme: dark;
    }
}

[data-theme="dark"] body,
[data-theme="dark"] .site-content,
[data-theme="dark"] #primary,
[data-theme="dark"] .site-main,
[data-theme="dark"] .site.grid-container {
    background: var(--news-bg);
    color: var(--news-ink-2);
}
[data-theme="dark"] .site-header,
[data-theme="dark"] .main-navigation,
[data-theme="dark"] .main-navigation ul ul {
    background: var(--news-bg) !important;
    border-color: var(--news-line);
}
[data-theme="dark"] .main-navigation .main-nav ul li a,
[data-theme="dark"] .main-navigation .menu-toggle,
[data-theme="dark"] .main-navigation .menu-bar-items,
[data-theme="dark"] .main-title a,
[data-theme="dark"] .main-title a:hover {
    color: var(--news-ink-2) !important;
}
[data-theme="dark"] .main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
[data-theme="dark"] .main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: var(--news-brand) !important;
}
[data-theme="dark"] .site-description { color: var(--news-muted) !important; }
[data-theme="dark"] .site-footer,
[data-theme="dark"] .site-info,
[data-theme="dark"] .footer-widgets {
    background: var(--news-bg) !important;
    color: var(--news-muted) !important;
    border-color: var(--news-line);
}

[data-theme="dark"] .news-masthead {
    border-top-color: var(--news-ink-2);
    border-bottom-color: var(--news-line);
}
[data-theme="dark"] .news-masthead__brand { color: var(--news-ink); }
[data-theme="dark"] .news-masthead__brand .dot { color: var(--news-breaking); }

[data-theme="dark"] .news-pill {
    background: var(--news-brand-soft);
    color: var(--news-brand);
}
[data-theme="dark"] .news-pill--live {
    background: var(--news-breaking-bg);
    color: var(--news-breaking);
}
[data-theme="dark"] .news-pill--live::before {
    background: var(--news-breaking);
    box-shadow: 0 0 0 0 rgba(248,113,113,0.6);
    animation: news-pulse-dark 1.8s infinite;
}
@keyframes news-pulse-dark {
    0%   { box-shadow: 0 0 0 0 rgba(248,113,113,0.5); }
    70%  { box-shadow: 0 0 0 8px rgba(248,113,113,0); }
    100% { box-shadow: 0 0 0 0 rgba(248,113,113,0); }
}

[data-theme="dark"] .news-ticker {
    background: var(--news-surface-2);
    border: 1px solid var(--news-line-strong);
    color: var(--news-ink-2);
}
[data-theme="dark"] .news-ticker__label {
    background: var(--news-breaking);
    color: var(--news-bg);
}
[data-theme="dark"] .news-ticker a { color: var(--news-ink-2); }
[data-theme="dark"] .news-ticker__track {
    mask-image: linear-gradient(90deg, transparent, var(--news-surface-2) 4%, var(--news-surface-2) 96%, transparent);
}

[data-theme="dark"] .news-lead__visual {
    background:
        radial-gradient(120% 80% at 0% 0%, rgba(125,211,252,0.18), transparent 60%),
        linear-gradient(135deg, #0c4a6e 0%, #0e7490 55%, #38bdf8 100%);
    box-shadow: var(--shadow-card);
}
[data-theme="dark"] .news-lead__visual::after {
    color: rgba(255,255,255,0.06);
}
[data-theme="dark"] .news-lead__headline a {
    background-image: linear-gradient(transparent 88%, rgba(56,189,248,0.28) 88%);
}

[data-theme="dark"] .news-rail { border-top-color: var(--news-ink-2); }
[data-theme="dark"] .news-cat,
[data-theme="dark"] .news-card__cat { color: var(--news-brand); }
[data-theme="dark"] .news-cat--hot { color: var(--news-breaking); }
[data-theme="dark"] .news-cat::before { background: var(--news-brand); }
[data-theme="dark"] .news-cat--hot::before { background: var(--news-breaking); }
[data-theme="dark"] .news-card__title a,
[data-theme="dark"] .news-rail a { color: var(--news-ink); }
[data-theme="dark"] .news-card__title a:hover,
[data-theme="dark"] .news-rail a:hover { color: var(--news-brand); }
[data-theme="dark"] .news-rail li { border-bottom-color: var(--news-line); }

[data-theme="dark"] .news-grid--lead .news-card:first-child .news-card__visual {
    background:
        radial-gradient(120% 80% at 0% 0%, rgba(255,255,255,0.05), transparent 60%),
        linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #475569 100%);
}
[data-theme="dark"] .news-section__head { border-bottom-color: var(--news-ink-2); }
[data-theme="dark"] .news-section__title span { color: var(--news-brand); }

[data-theme="dark"] .news-schedule {
    background: var(--news-surface);
    border-color: var(--news-line);
    border-left-color: var(--news-brand);
    color: var(--news-ink-2);
}
[data-theme="dark"] .news-schedule__title { color: var(--news-ink); }
[data-theme="dark"] .news-schedule__icon { background: var(--news-brand-soft); }
[data-theme="dark"] .news-schedule__track { border-top-color: var(--news-line); }
[data-theme="dark"] .news-schedule__track-cat { color: var(--news-ink); }
[data-theme="dark"] .news-schedule__time {
    background: var(--news-surface-2);
    border-color: var(--news-line);
    color: var(--news-ink-2);
}
[data-theme="dark"] .news-schedule__time strong { color: var(--news-brand); }

[data-theme="dark"] .theme-toggle {
    border-color: var(--news-line-strong);
    color: var(--news-ink-2);
}
[data-theme="dark"] .theme-toggle:hover {
    background: var(--news-surface);
    color: var(--news-brand);
}

/* 단일 포스트 / 페이지 본문 */
[data-theme="dark"] .entry-content,
[data-theme="dark"] .entry-title,
[data-theme="dark"] .entry-meta { color: var(--news-ink-2); }
[data-theme="dark"] .entry-title a,
[data-theme="dark"] .entry-title a:hover { color: var(--news-ink); }
[data-theme="dark"] .entry-content a { color: var(--news-brand); }
[data-theme="dark"] .entry-content a:hover { color: var(--news-accent); }
[data-theme="dark"] blockquote {
    border-left: 4px solid var(--news-brand);
    color: var(--news-ink-2);
    background: var(--news-surface);
}

/* ─────────────────────────────────────────────────────────────
 * Dark mode — Single post / Archive list / Sidebar / Pagination
 * (홈 외 페이지에서 다크가 안 먹던 문제 해결)
 * ───────────────────────────────────────────────────────────── */
[data-theme="dark"] .inside-article,
[data-theme="dark"] .one-container .inside-article,
[data-theme="dark"] .separate-containers .inside-article {
    background: var(--news-surface);
    color: var(--news-ink-2);
    border: 1px solid var(--news-line);
    box-shadow: var(--shadow-card);
}

/* Archive: 카테고리/태그/검색 헤더 */
[data-theme="dark"] .page-header,
[data-theme="dark"] .page-header-contents,
[data-theme="dark"] .page-header-image,
[data-theme="dark"] .page-header-content {
    background: transparent;
    color: var(--news-ink);
}
[data-theme="dark"] .page-header .page-title,
[data-theme="dark"] .page-header .taxonomy-description,
[data-theme="dark"] .archive-description {
    color: var(--news-ink);
}
[data-theme="dark"] .taxonomy-description,
[data-theme="dark"] .archive-description { color: var(--news-muted); }

/* 본문 보조 — 코드/표/hr */
[data-theme="dark"] .entry-content pre,
[data-theme="dark"] .entry-content code,
[data-theme="dark"] .entry-content kbd,
[data-theme="dark"] pre[class*="language-"] {
    background: var(--news-surface-2);
    color: var(--news-ink);
    border: 1px solid var(--news-line);
}
[data-theme="dark"] .entry-content hr { border-color: var(--news-line); }
[data-theme="dark"] .entry-content table,
[data-theme="dark"] .entry-content th,
[data-theme="dark"] .entry-content td { border-color: var(--news-line); }
[data-theme="dark"] .entry-content th { background: var(--news-surface-2); }

/* 메타 (날짜/저자/카테고리/태그) */
[data-theme="dark"] .entry-meta,
[data-theme="dark"] .posted-on,
[data-theme="dark"] .byline,
[data-theme="dark"] .cat-links,
[data-theme="dark"] .tags-links,
[data-theme="dark"] .comments-link { color: var(--news-muted); }
[data-theme="dark"] .entry-meta a,
[data-theme="dark"] .cat-links a,
[data-theme="dark"] .tags-links a { color: var(--news-muted); }
[data-theme="dark"] .entry-meta a:hover,
[data-theme="dark"] .cat-links a:hover,
[data-theme="dark"] .tags-links a:hover { color: var(--news-brand); }

/* 페이지네이션 (archive 다음/이전 + 숫자) */
[data-theme="dark"] .paging-navigation,
[data-theme="dark"] .post-navigation,
[data-theme="dark"] .nav-links { color: var(--news-ink-2); }
[data-theme="dark"] .nav-links .page-numbers,
[data-theme="dark"] .pagination .page-numbers {
    background: var(--news-surface);
    color: var(--news-ink-2);
    border: 1px solid var(--news-line);
}
[data-theme="dark"] .nav-links .page-numbers:hover,
[data-theme="dark"] .pagination .page-numbers:hover {
    background: var(--news-surface-2);
    color: var(--news-brand);
    border-color: var(--news-brand);
}
[data-theme="dark"] .nav-links .page-numbers.current,
[data-theme="dark"] .pagination .page-numbers.current {
    background: var(--news-brand);
    color: var(--news-bg);
    border-color: var(--news-brand);
}
[data-theme="dark"] .nav-links .page-numbers.dots,
[data-theme="dark"] .pagination .page-numbers.dots {
    background: transparent;
    border-color: transparent;
    color: var(--news-muted);
}
[data-theme="dark"] .nav-previous a,
[data-theme="dark"] .nav-next a { color: var(--news-ink-2); }
[data-theme="dark"] .nav-previous a:hover,
[data-theme="dark"] .nav-next a:hover { color: var(--news-brand); }

/* 사이드바 / 위젯 */
[data-theme="dark"] .widget-area,
[data-theme="dark"] .sidebar,
[data-theme="dark"] .inside-right-sidebar,
[data-theme="dark"] .inside-left-sidebar {
    background: var(--news-bg);
    color: var(--news-ink-2);
}
[data-theme="dark"] .widget,
[data-theme="dark"] .widget.inner-padding {
    background: var(--news-surface);
    color: var(--news-ink-2);
    border: 1px solid var(--news-line);
}
[data-theme="dark"] .widget .widget-title,
[data-theme="dark"] .widget-title,
[data-theme="dark"] .widget h2,
[data-theme="dark"] .widget h3 { color: var(--news-ink); }
[data-theme="dark"] .widget a { color: var(--news-ink-2); }
[data-theme="dark"] .widget a:hover { color: var(--news-brand); }
[data-theme="dark"] .widget ul li,
[data-theme="dark"] .widget ol li { border-color: var(--news-line); }

/* 검색 폼 (헤더 위젯 / 사이드바 위젯) */
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .search-field,
[data-theme="dark"] .wp-block-search__input {
    background: var(--news-surface-2);
    color: var(--news-ink);
    border: 1px solid var(--news-line);
}
[data-theme="dark"] input[type="text"]:focus,
[data-theme="dark"] input[type="search"]:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] .search-field:focus,
[data-theme="dark"] .wp-block-search__input:focus {
    border-color: var(--news-brand);
    outline: none;
    box-shadow: 0 0 0 3px rgba(56,189,248,0.18);
}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder { color: var(--news-subtle); }
[data-theme="dark"] button,
[data-theme="dark"] input[type="submit"],
[data-theme="dark"] input[type="button"],
[data-theme="dark"] .wp-block-search__button,
[data-theme="dark"] .button {
    background: var(--news-brand);
    color: var(--news-bg);
    border-color: var(--news-brand);
}
[data-theme="dark"] button:hover,
[data-theme="dark"] input[type="submit"]:hover,
[data-theme="dark"] .wp-block-search__button:hover {
    background: var(--news-accent);
    border-color: var(--news-accent);
    color: var(--news-bg);
}

/* 댓글 (있을 때만) */
[data-theme="dark"] .comments-area,
[data-theme="dark"] .comments-title,
[data-theme="dark"] .comment-reply-title { color: var(--news-ink); }
[data-theme="dark"] .comment-body,
[data-theme="dark"] .comment-respond {
    background: var(--news-surface);
    border-color: var(--news-line);
    color: var(--news-ink-2);
}
[data-theme="dark"] .comment-meta,
[data-theme="dark"] .comment-metadata,
[data-theme="dark"] .comment-author { color: var(--news-muted); }
[data-theme="dark"] .comment-author a,
[data-theme="dark"] .comment-meta a { color: var(--news-ink-2); }

/* Back-to-top 버튼 */
[data-theme="dark"] .generate-back-to-top {
    background: var(--news-surface-2) !important;
    color: var(--news-ink) !important;
    border: 1px solid var(--news-line);
}
[data-theme="dark"] .generate-back-to-top:hover {
    background: var(--news-brand) !important;
    color: var(--news-bg) !important;
    border-color: var(--news-brand);
}

/* ─────────────────────────────────────────────────────────────
 * Article reading typography — 본문 신문체
 * Noto Serif KR + Source/Charter serif (이미 사이트에 로드됨) 으로
 * 단일 포스트와 페이지 본문을 "읽기 편한 신문 글자체" 로 변경.
 * - Korean serif 는 leading 을 넉넉히 (line-height 1.85)
 * - 17 → 18px, 한국어 문장 부호 균형 맞춤
 * - measure ~38em 으로 한 줄에 너무 길지 않게
 * ───────────────────────────────────────────────────────────── */
.entry-title {
    font-family: var(--font-serif);
    font-weight: 900;
    letter-spacing: -0.025em;
    line-height: 1.25;
    word-break: keep-all;
    overflow-wrap: break-word;
}
.entry-content {
    font-family: var(--font-serif);
    font-size: 1.125rem;          /* 18px — 신문 본문 표준 */
    line-height: 1.85;             /* 한국어 serif 는 leading 넉넉히 */
    color: var(--news-ink);
    letter-spacing: -0.005em;
    word-break: keep-all;          /* 한국어 단어 중간 줄바꿈 금지 */
    overflow-wrap: break-word;
    word-spacing: 0.02em;
}
.entry-content p,
.entry-content li {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    margin-bottom: 1.15em;
}
.entry-content p { text-align: left; }
.entry-content > p:first-of-type {
    font-size: 1.21rem;             /* 리드 단락 살짝 크게 */
    line-height: 1.75;
    color: var(--news-ink);
}
.entry-content h2,
.entry-content h3,
.entry-content h4 {
    font-family: var(--font-serif);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.3;
    margin-top: 1.8em;
    margin-bottom: 0.6em;
    word-break: keep-all;
}
.entry-content h2 { font-size: 1.55rem; }
.entry-content h3 { font-size: 1.3rem; }
.entry-content h4 { font-size: 1.12rem; }
.entry-content blockquote {
    font-family: var(--font-serif);
    font-size: 1.18rem;
    line-height: 1.75;
    font-style: normal;
    border-left: 4px solid var(--news-brand);
    background: var(--news-surface);
    padding: 16px 22px;
    margin: 1.6em 0;
    color: var(--news-ink);
    border-radius: 0 4px 4px 0;
}
.entry-content a {
    color: var(--news-brand);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.entry-content a:hover { color: var(--news-accent); }
.entry-content ul,
.entry-content ol { padding-left: 1.4em; margin: 1em 0 1.4em; }
.entry-content li { margin-bottom: 0.5em; }
.entry-content figcaption,
.entry-content .wp-caption-text {
    font-family: var(--font-sans);   /* 캡션은 sans 가 가독성 ↑ */
    font-size: 0.85rem;
    color: var(--news-muted);
    line-height: 1.5;
    margin-top: 6px;
}

/* 코드 / kbd / 표 / hr — sans 유지 */
.entry-content code,
.entry-content kbd,
.entry-content samp,
.entry-content pre {
    font-family: var(--font-sans);
    font-size: 0.92em;
}
.entry-content pre { line-height: 1.55; }

/* 모바일: 본문 크기 살짝 줄임 + leading 유지 */
@media (max-width: 768px) {
    .entry-content { font-size: 1.0625rem; line-height: 1.8; }
    .entry-content > p:first-of-type { font-size: 1.125rem; line-height: 1.7; }
    .entry-content h2 { font-size: 1.35rem; }
    .entry-content h3 { font-size: 1.18rem; }
    .entry-title { font-size: clamp(1.6rem, 6vw, 2rem); }
}

[data-theme="dark"] .entry-content { color: var(--news-ink-2); }
[data-theme="dark"] .entry-content blockquote {
    background: var(--news-surface);
    color: var(--news-ink-2);
}

/* 검색 위젯 — 텍스트 버튼 대신 돋보기 아이콘 */
.wp-block-search .wp-block-search__inside-wrapper {
    display: flex;
    align-items: stretch;
}
.wp-block-search .wp-block-search__input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 12px;
}
.wp-block-search .wp-block-search__button {
    flex: 0 0 auto;
    width: 44px;
    min-width: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.wp-block-search .wp-block-search__button .news-search-icon {
    width: 18px;
    height: 18px;
}
[data-theme="dark"] .wp-block-search .wp-block-search__button {
    background: var(--news-brand);
    color: var(--news-bg);
    border-color: var(--news-brand);
}
[data-theme="dark"] .wp-block-search .wp-block-search__button:hover {
    background: var(--news-accent);
    border-color: var(--news-accent);
}

/* 푸터 정책 링크 */
.news-footer-policy {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    justify-content: center;
    margin-bottom: 8px;
    font-size: 0.8125rem;
}
.news-footer-policy a {
    color: var(--news-muted);
    text-decoration: none;
}
.news-footer-policy a:hover { color: var(--news-brand); }
[data-theme="dark"] .news-footer-policy a { color: var(--news-muted); }
[data-theme="dark"] .news-footer-policy a:hover { color: var(--news-brand); }

/* ─────────────────────────────────────────────────────────────
 * Featured longform video (일론머스크 hero — tesla_kr YouTube)
 * 클릭하면 인라인 iframe 으로 교체 (JS in functions.php).
 * 클릭 전엔 maxres 썸네일 + YT 플레이 글리프 + 캡션 오버레이.
 * ───────────────────────────────────────────────────────────── */
.news-feature-video {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 0 22px;
    border-radius: 8px;
    overflow: hidden;
    background: #0f172a;
    box-shadow: var(--shadow-card);
    text-decoration: none;
    color: #fff;
    cursor: pointer;
    isolation: isolate;
}
.news-feature-video:hover { box-shadow: var(--shadow-hover); }
.news-feature-video:focus-visible {
    outline: 3px solid var(--news-brand);
    outline-offset: 2px;
}
.news-feature-video__thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 360ms ease;
    z-index: 0;
}
.news-feature-video:hover .news-feature-video__thumb { transform: scale(1.03); }
.news-feature-video__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,0.78) 100%),
        linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0) 35%);
    z-index: 1;
}
.news-feature-video__play {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 68px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: transform 180ms ease, filter 180ms ease;
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.45));
}
.news-feature-video:hover .news-feature-video__play { transform: scale(1.08); }
.news-feature-video__caption {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 16px 20px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 2;
    color: #fff;
}
.news-feature-video__badge {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fee2e2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.news-feature-video__badge::before {
    content: "▶";
    color: #ef4444;
    font-size: 0.65rem;
    line-height: 1;
}
.news-feature-video__title {
    font-family: var(--font-serif);
    font-weight: 900;
    font-size: clamp(1.05rem, 2.2vw, 1.5rem);
    line-height: 1.3;
    letter-spacing: -0.015em;
    color: #fff;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.news-feature-video__meta {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.78);
    letter-spacing: 0.01em;
}
/* 재생 모드 — JS 가 iframe 을 주입한 뒤 캡션/플레이 글리프 숨김 */
.news-feature-video.is-playing { cursor: default; }
.news-feature-video.is-playing .news-feature-video__shade,
.news-feature-video.is-playing .news-feature-video__play,
.news-feature-video.is-playing .news-feature-video__caption,
.news-feature-video.is-playing .news-feature-video__thumb { display: none; }
.news-feature-video.is-playing iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    z-index: 3;
}

[data-theme="dark"] .news-feature-video {
    background: #1e293b;
    box-shadow: var(--shadow-card);
}

@media (max-width: 480px) {
    .news-feature-video { margin-bottom: 16px; border-radius: 6px; }
    .news-feature-video__caption { padding: 12px 14px 14px; }
    .news-feature-video__play { width: 56px; height: 40px; }
    .news-feature-video__title { font-size: 1rem; }
    .news-feature-video__meta { font-size: 0.72rem; }
}

/* ─────────────────────────────────────────────────────────────
 * Mobile hardening — 휴대폰 가로 오버플로우 / 너무 큰 글자 정리
 * 760px 이하: 한 칼럼 + 헤더/섹션 헤드 wrap 허용
 * 480px 이하: 더 빡빡한 폰트/간격
 * ───────────────────────────────────────────────────────────── */
@media (max-width: 760px) {
    .news-front {
        padding: 0 14px 48px;
    }

    /* Masthead — 줄바꿈 자연스럽게 */
    .news-masthead {
        padding: 14px 0 12px;
        margin-bottom: 20px;
        gap: 8px 14px;
    }
    .news-masthead__brand {
        font-size: clamp(1.25rem, 6vw, 1.6rem);
        margin-right: 0;
        width: 100%;
    }
    .news-masthead__brand small {
        margin-top: 4px;
        font-size: 0.65rem;
        letter-spacing: 0.14em;
    }
    .news-masthead__meta { font-size: 0.75rem; gap: 4px 10px; }

    /* Ticker — 좁아도 안 터지게 */
    .news-ticker {
        padding: 8px 12px;
        margin-bottom: 20px;
        font-size: 0.8125rem;
        gap: 10px;
    }
    .news-ticker__label { padding: 3px 8px; font-size: 0.7rem; }
    .news-ticker__inner span { margin-right: 24px; }

    /* Lead — 한 칼럼, 헤드라인 살짝 줄임 */
    .news-lead {
        gap: 22px;
        padding-bottom: 24px;
        margin-bottom: 24px;
    }
    .news-lead__headline {
        font-size: clamp(1.5rem, 6.4vw, 2rem);
        line-height: 1.2;
    }
    .news-lead__excerpt {
        font-size: 1rem;
        line-height: 1.55;
    }
    .news-byline {
        font-size: 0.7rem;
        gap: 2px 8px;
        letter-spacing: 0.04em;
    }

    /* Rail — 제목/소제목 한 줄에 묶지 않기 */
    .news-rail__title {
        display: flex;
        flex-wrap: wrap;
        gap: 2px 8px;
    }
    .news-rail a { font-size: 0.9rem; }
    .news-rail li { padding: 10px 0; gap: 8px; }

    /* Section head — 제목/영문/“전체 보기” wrap */
    .news-section { margin-top: 28px; }
    .news-section__head {
        flex-wrap: wrap;
        gap: 4px 10px;
        padding-bottom: 8px;
        margin-bottom: 14px;
    }
    .news-section__title { font-size: 1.2rem; }
    .news-section__title span {
        display: inline-block;
        margin-left: 6px;
        font-size: 0.75rem;
    }

    /* Schedule — 아이콘+본문이 좁은 화면에서 옆으로 안 밀리게 */
    .news-schedule {
        padding: 14px 16px;
        margin: 28px 0 12px;
        flex-wrap: wrap;
        gap: 10px 14px;
    }
    .news-schedule__title { font-size: 0.95rem; }
    .news-schedule__note {
        margin-left: 0;
        width: 100%;
        font-size: 0.75rem;
    }
}

@media (max-width: 480px) {
    .news-front { padding: 0 12px 40px; }

    .news-masthead { padding: 12px 0 10px; }
    .news-masthead__brand { font-size: 1.3rem; }
    .news-masthead__brand small { font-size: 0.6rem; letter-spacing: 0.12em; }
    .news-masthead__meta { font-size: 0.72rem; }
    .news-pill { padding: 2px 8px; font-size: 0.7rem; }

    .news-ticker { font-size: 0.78rem; }
    .news-ticker__inner span { margin-right: 18px; }

    .news-lead__headline { font-size: clamp(1.4rem, 7vw, 1.8rem); }
    .news-lead__excerpt { font-size: 0.95rem; }
    .news-lead__visual::after { font-size: 3.6rem; }

    .news-rail__title { font-size: 0.95rem; }
    .news-rail__title small { font-size: 0.65rem; }
    .news-rail a { font-size: 0.875rem; }

    .news-section__title { font-size: 1.1rem; }
    .news-section__title span { font-size: 0.7rem; letter-spacing: 0.02em; }
    .news-section__more { font-size: 0.75rem; }

    .news-card__title { font-size: 1.05rem; }
    .news-grid--lead .news-card:first-child .news-card__title { font-size: 1.2rem; }
    .news-card__excerpt { font-size: 0.875rem; }
    .news-card__meta { font-size: 0.7rem; }

    .news-schedule { padding: 12px 14px; gap: 8px 12px; }
    .news-schedule__icon { width: 30px; height: 30px; }
    .news-schedule__time { padding: 4px 8px; font-size: 0.78rem; }
}
