/* ════════════════════════════════════════════════════════
   Landing — IT 서비스 랜딩 전용 (front-page.php, 2026-08-18)
   브랜드 색(--primary/--accent 등)은 fd-blog-colors가 주입.
   매거진 스킨과 독립된 자체 컴포넌트(ld-*)만 사용.
   ════════════════════════════════════════════════════════ */

.ld { background: var(--surface-0); }
.ld-wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

.ld-kicker {
    font-family: var(--font-mono);
    font-size: 12px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--accent-text);
    margin: 0 0 14px;
}

/* ── Hero ── */
.ld-hero { position: relative; overflow: hidden; padding: 72px 0 0; }
.ld-hero::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(760px 420px at 82% -10%, rgba(var(--accent-rgb), 0.13), transparent 62%),
        radial-gradient(560px 320px at -8% 30%, rgba(var(--highlight-rgb), 0.07), transparent 60%);
    pointer-events: none;
}
.ld-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: center;
}
.ld-hero__title {
    font-family: var(--font-body);
    font-size: clamp(40px, 4.6vw, 58px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -0.035em;
    color: var(--text-primary);
    margin: 0 0 18px;
}
.ld-hero__sub {
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-secondary);
    max-width: 46ch;
    margin: 0 0 28px;
}

.ld-search {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--surface-1);
    border: 1.5px solid rgba(16,24,40,0.12);
    border-radius: 16px;
    padding: 6px 6px 6px 18px;
    max-width: 520px;
    box-shadow: var(--shadow-sm);
    transition: border-color 0.18s, box-shadow 0.18s;
}
.ld-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.12); }
.ld-search svg { width: 20px; height: 20px; color: var(--text-muted); flex-shrink: 0; }
.ld-search input {
    flex: 1; min-width: 0;
    border: 0; outline: 0; background: none;
    font-size: 15.5px;
    font-family: var(--font-body);
    color: var(--text-primary);
    padding: 10px 0;
}
.ld-search input::placeholder { color: var(--text-muted); }
.ld-search button {
    border: 0; cursor: pointer;
    background: var(--primary);
    color: #fff;
    font-weight: 700;
    font-size: 14.5px;
    font-family: var(--font-body);
    padding: 12px 22px;
    border-radius: 12px;
    transition: opacity 0.15s;
}
.ld-search button:hover { opacity: 0.88; }

.ld-hero__quick { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ld-hero__quick a {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
    background: var(--surface-1);
    border: 1px solid rgba(16,24,40,0.10);
    border-radius: 999px;
    padding: 7px 14px;
    text-decoration: none;
    transition: all 0.15s;
}
.ld-hero__quick a:hover { border-color: rgba(var(--accent-rgb), 0.5); color: var(--accent-text); background: rgba(var(--accent-rgb), 0.06); }

/* 제품 프리뷰 mock */
.ld-hero__visual { position: relative; justify-self: end; width: min(400px, 100%); }
.ld-mock {
    background: var(--surface-1);
    border: 1px solid rgba(16,24,40,0.07);
    border-radius: 20px;
    box-shadow: 0 32px 64px -20px rgba(16,24,40,0.25), 0 8px 20px -8px rgba(16,24,40,0.10);
    padding: 20px 22px 22px;
    transform: rotate(1.6deg);
}
.ld-mock__bar { display: flex; gap: 6px; margin-bottom: 16px; }
.ld-mock__bar span { width: 9px; height: 9px; border-radius: 50%; background: rgba(16,24,40,0.12); }
.ld-mock__bar span:first-child { background: rgba(var(--accent-rgb), 0.55); }
.ld-mock__title { font-weight: 700; font-size: 15.5px; color: var(--text-primary); margin: 0 0 14px; }
.ld-mock__row {
    display: flex; justify-content: space-between; align-items: center;
    font-size: 13.5px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(16,24,40,0.06);
}
.ld-mock__row span { color: var(--text-muted); }
.ld-mock__row strong { color: var(--text-primary); font-weight: 600; font-family: var(--font-mono); font-size: 13px; }
.ld-mock__result {
    display: flex; justify-content: space-between; align-items: baseline;
    flex-wrap: wrap; gap: 4px 12px;
    margin-top: 16px;
    background: rgba(var(--accent-rgb), 0.10);
    border-radius: 12px;
    padding: 14px 16px;
}
.ld-mock__result span { font-size: 13px; color: var(--accent-text); font-weight: 600; white-space: nowrap; }
.ld-mock__result strong { font-size: 17px; font-weight: 700; color: var(--text-primary); font-family: var(--font-mono); letter-spacing: -0.02em; white-space: nowrap; }

.ld-mock-chip {
    position: absolute;
    background: var(--surface-1);
    border: 1px solid rgba(16,24,40,0.08);
    border-radius: 999px;
    box-shadow: var(--shadow-md);
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text-primary);
    padding: 9px 16px;
}
.ld-mock-chip::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--highlight); margin-right: 7px; vertical-align: 1px; }
.ld-mock-chip--a { top: -14px; left: -22px; }
.ld-mock-chip--b { bottom: 18px; right: -14px; }

/* 스탯 바 */
.ld-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin: 56px 0 0;
    padding: 22px 8px;
    border-top: 1px solid rgba(16,24,40,0.08);
}
.ld-stats div { text-align: center; }
.ld-stats dt { font-size: 12.5px; color: var(--text-muted); margin-bottom: 4px; }
.ld-stats dd { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: var(--text-primary); margin: 0; font-family: var(--font-mono); }

/* ── 공통 섹션 ── */
.ld-section { padding: 72px 0; }
.ld-section--tint { background: var(--surface-2); }
.ld-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 32px;
}
.ld-section__title {
    font-size: clamp(26px, 2.8vw, 34px);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--text-primary);
    margin: 0;
}
.ld-btn {
    display: inline-block;
    font-weight: 700;
    font-size: 14.5px;
    border-radius: 12px;
    padding: 12px 22px;
    text-decoration: none;
    transition: all 0.16s;
}
.ld-btn--ghost { color: var(--accent-text); background: rgba(var(--accent-rgb), 0.09); }
.ld-btn--ghost:hover { background: rgba(var(--accent-rgb), 0.17); }
.ld-btn--solid { color: #fff; background: var(--primary); }
.ld-btn--solid:hover { opacity: 0.9; }

/* ── 도구 쇼케이스 ── */
.ld-tools {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
.ld-tool {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: var(--surface-1);
    border: 1px solid rgba(16,24,40,0.06);
    border-radius: 18px;
    padding: 22px;
    text-decoration: none;
    transition: transform 0.2s var(--ease, ease), box-shadow 0.2s var(--ease, ease), border-color 0.2s;
}
.ld-tool:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: rgba(var(--accent-rgb), 0.35);
}
.ld-tool__icon {
    display: inline-grid;
    place-items: center;
    width: 44px; height: 44px;
    border-radius: 13px;
    background: rgba(var(--accent-rgb), 0.10);
    color: var(--accent-text);
    margin-bottom: 4px;
}
.ld-tool__icon svg { width: 22px; height: 22px; }
.ld-tool__name { font-weight: 700; font-size: 15px; line-height: 1.45; letter-spacing: -0.01em; color: var(--text-primary); }
.ld-tool__desc {
    font-size: 13px; line-height: 1.5; color: var(--text-muted);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ld-tool__cat { margin-top: auto; padding-top: 8px; font-size: 11.5px; font-weight: 600; color: var(--accent-text); }

/* ── 신뢰 ── */
.ld-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ld-trust__item {
    background: var(--surface-1);
    border-radius: 18px;
    padding: 28px 26px;
    box-shadow: var(--shadow-sm);
}
.ld-trust__icon {
    display: inline-grid; place-items: center;
    width: 46px; height: 46px;
    border-radius: 13px;
    background: var(--primary);
    color: #fff;
    margin-bottom: 16px;
}
.ld-trust__icon svg { width: 22px; height: 22px; }
.ld-trust__item h3 { font-size: 17px; font-weight: 700; letter-spacing: -0.01em; color: var(--text-primary); margin: 0 0 8px; }
.ld-trust__item p { font-size: 14px; line-height: 1.65; color: var(--text-secondary); margin: 0; }
.ld-trust__more { margin: 22px 0 0; }
.ld-trust__more a { font-weight: 700; font-size: 14px; color: var(--accent-text); text-decoration: none; }
.ld-trust__more a:hover { text-decoration: underline; }

/* ── 최신 분석 ── */
.ld-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ld-post {
    display: flex; flex-direction: column;
    background: var(--surface-1);
    border: 1px solid rgba(16,24,40,0.06);
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
}
.ld-post:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.ld-post__thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.ld-post__body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; }
.ld-post__cat { font-size: 11.5px; font-weight: 700; color: var(--accent-text); }
.ld-post__title { font-size: 15.5px; font-weight: 700; line-height: 1.5; letter-spacing: -0.01em; color: var(--text-primary); margin: 0; }
.ld-post__date { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); }

/* ── CTA ── */
.ld-cta {
    background:
        radial-gradient(600px 300px at 85% -30%, rgba(var(--accent-rgb), 0.28), transparent 60%),
        var(--primary);
    text-align: center;
    padding: 72px 24px;
}
.ld-cta h2 { color: #fff; font-size: clamp(26px, 3vw, 36px); font-weight: 700; letter-spacing: -0.03em; margin: 0 0 8px; }
.ld-cta p { color: rgba(255,255,255,0.65); margin: 0 0 26px; }
.ld-cta .ld-btn--solid { background: #fff; color: var(--primary); }

/* ── 반응형 ── */
@media (max-width: 960px) {
    .ld-hero__grid { grid-template-columns: 1fr; gap: 40px; }
    .ld-hero__visual { justify-self: center; }
    .ld-tools { grid-template-columns: repeat(2, 1fr); }
    .ld-trust, .ld-posts { grid-template-columns: 1fr; }
    .ld-stats { grid-template-columns: repeat(2, 1fr); row-gap: 20px; }
}
@media (max-width: 560px) {
    .ld-hero { padding-top: 44px; }
    .ld-tools { grid-template-columns: 1fr; }
    .ld-mock-chip--a { left: -6px; }
    .ld-mock-chip--b { right: -4px; }
    .ld-section { padding: 52px 0; }
}

/* ── Decision Hub 피벗 (2026-08-24) — 배지·히어로 결정카드·시리즈 ── */
.ld-badge { display:inline-block; padding:3px 10px; border-radius:999px; background:var(--accent); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.04em; }
.ld-badge--sm { padding:1px 7px; font-size:.64rem; vertical-align:1px; }
.ld-pick__meta { display:flex; gap:10px; align-items:center; }
.ld-pick__cat { font-size:.78rem; color:var(--text-muted); font-weight:600; }

.ld-pickcard { position:relative; display:flex; flex-direction:column; background:var(--surface-1); border:1px solid var(--border-color); border-radius:20px; overflow:hidden; text-decoration:none; color:inherit; box-shadow:var(--shadow-lg, 0 20px 50px -24px rgba(0,0,0,.25)); transition:transform .2s, box-shadow .2s; }
.ld-pickcard:hover { transform:translateY(-3px); box-shadow:0 24px 60px -24px rgba(var(--accent-rgb), .5); }
.ld-pickcard__flag { position:absolute; top:14px; left:14px; z-index:2; padding:5px 13px; border-radius:999px; background:var(--accent); color:#fff; font-size:.74rem; font-weight:800; letter-spacing:.03em; box-shadow:0 4px 14px -4px rgba(var(--accent-rgb), .6); }
.ld-pickcard__thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.ld-pickcard__body { padding:20px 22px 22px; display:flex; flex-direction:column; gap:10px; }
.ld-pickcard__title { margin:0; font-size:1.12rem; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ld-pickcard__ex { margin:0; font-size:.86rem; line-height:1.65; color:var(--text-secondary); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ld-pickcard__cta { display:flex; align-items:center; gap:12px; font-weight:700; font-size:.9rem; color:var(--accent); }
.ld-pickcard__cta em { font-style:normal; font-weight:500; font-size:.76rem; color:var(--text-muted); }

.ld-section--series { padding-top:44px; padding-bottom:8px; }
.ld-series { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.ld-serie { display:flex; flex-direction:column; gap:8px; padding:24px 24px 20px; background:var(--surface-1); border:1px solid var(--border-color); border-radius:16px; text-decoration:none; color:inherit; transition:border-color .2s, box-shadow .2s; }
.ld-serie:hover { border-color:var(--border-hover); box-shadow:0 12px 32px -18px rgba(var(--accent-rgb), .4); }
.ld-serie h3 { margin:0; font-size:1.05rem; }
.ld-serie p { margin:0; font-size:.85rem; color:var(--text-muted); line-height:1.6; }
.ld-serie span { margin-top:auto; padding-top:8px; font-size:.84rem; font-weight:700; color:var(--accent); }
@media (max-width:760px){ .ld-series { grid-template-columns:1fr; } }

/* ── 인터랙티브 히어로 위젯 (2026-08-25) — 판정 패널·보드·트랙·진단 ── */
.ld-hw { background:#fff; border:1px solid var(--primary, #16181d); box-shadow:var(--shadow-lg, 0 20px 50px -24px rgba(0,0,0,.25)); }
.ld-hw__head { display:flex; align-items:center; gap:10px; padding:10px 16px; border-bottom:1px solid var(--primary, #16181d); font-size:.72rem; letter-spacing:.1em; color:var(--text-muted); }
.ld-hw__head b { background:var(--primary, #16181d); color:#fff; padding:2px 10px; font-weight:600; letter-spacing:.08em; }
.ld-hw__head em { margin-left:auto; font-style:normal; font-size:.66rem; }
.ld-hw__body { padding:16px 18px 18px; }
.ld-hw__form { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ld-hw__form .ld-hw__full { grid-column:1/-1; }
.ld-hw__form label { display:block; font-size:.66rem; font-weight:700; letter-spacing:.08em; color:var(--text-muted); margin-bottom:4px; }
.ld-hw__form select, .ld-hw__form input { width:100%; border:1.5px solid var(--border-color); border-radius:4px; padding:10px 11px; font-size:.9rem; font-family:inherit; background:#fff; }
.ld-hw__form select:focus, .ld-hw__form input:focus { outline:none; border-color:var(--primary, #16181d); }
.ld-hw__go { grid-column:1/-1; border:0; background:var(--primary, #16181d); color:#fff; font-weight:700; font-size:.88rem; padding:12px; cursor:pointer; font-family:inherit; letter-spacing:.02em; }
.ld-hw__go:hover { background:var(--accent); }
.ld-hw__table { width:100%; border-collapse:collapse; margin-top:14px; font-size:.82rem; }
.ld-hw__table th { font-size:.62rem; letter-spacing:.1em; font-weight:600; color:var(--text-muted); text-align:left; padding:6px 8px; border-bottom:1px solid var(--primary, #16181d); }
.ld-hw__table td { padding:9px 8px; border-bottom:1px solid var(--border-color); vertical-align:baseline; }
.ld-hw__table td.v { font-weight:800; font-size:.95rem; color:var(--accent-text, var(--accent)); white-space:nowrap; }
.ld-hw__table td.why { color:var(--text-muted); font-size:.74rem; }
.ld-hw__table td a { font-size:.72rem; font-weight:700; color:var(--text-primary); text-decoration:none; border-bottom:1.5px solid var(--accent); white-space:nowrap; }
.ld-hw__foot { margin:10px 0 0; font-size:.7rem; color:var(--text-muted); }
.ld-hw__board { display:grid; }
.ld-hw__brow { display:grid; grid-template-columns:1fr auto; gap:4px 8px; align-items:center; padding:10px 0; border-bottom:1px solid var(--border-color); font-size:.86rem; }
.ld-hw__brow:last-child { border-bottom:0; }
.ld-hw__brow .nm { font-weight:700; }
.ld-hw__brow .why { grid-column:1/-1; font-size:.72rem; color:var(--text-muted); margin-top:-2px; }
.ld-hw__brow .st { font-size:.68rem; font-weight:700; letter-spacing:.05em; display:flex; align-items:center; gap:7px; white-space:nowrap; }
.ld-hw__brow .st::before { content:""; width:9px; height:9px; }
.ld-hw__brow .st-buy { color:#0b6e4f; } .ld-hw__brow .st-buy::before { background:#0b6e4f; }
.ld-hw__brow .st-wait { color:#8a5a12; } .ld-hw__brow .st-wait::before { background:#d9a12b; }
.ld-hw__brow .st-hold { color:#a12c1c; } .ld-hw__brow .st-hold::before { background:#c0331f; }
.ld-hw__tracks { display:grid; border-top:1px solid var(--primary, #16181d); }
.ld-hw__tracks button { display:grid; grid-template-columns:40px 1fr; gap:12px; padding:13px 4px; border:0; border-bottom:1px solid var(--border-color); cursor:pointer; background:none; text-align:left; font-family:inherit; font-size:.9rem; }
.ld-hw__tracks button .no { font-weight:600; font-size:.95rem; color:var(--text-muted); opacity:.5; padding-top:2px; }
.ld-hw__tracks button b { font-size:.92rem; }
.ld-hw__tracks button small { display:block; font-size:.72rem; color:var(--text-muted); margin-top:2px; }
.ld-hw__tracks button.on { background:var(--surface-accent, #f6f6f6); }
.ld-hw__tracks button.on .no { color:var(--accent); opacity:1; }
.ld-hw__route { display:block; margin-top:12px; padding:12px 14px; background:var(--primary, #16181d); color:#fff; font-size:.76rem; letter-spacing:.02em; line-height:1.6; text-decoration:none; }
.ld-hw__route:hover { background:var(--accent); color:#fff; }
.ld-hw__pct { margin:14px 0 4px; }
.ld-hw__pct .lbl { display:flex; justify-content:space-between; font-size:.62rem; color:var(--text-muted); margin-bottom:5px; }
.ld-hw__pct .rail { height:14px; background:var(--surface-2, #e8eaed); position:relative; }
.ld-hw__pct .rail b { position:absolute; left:0; top:0; bottom:0; background:var(--accent); }
.ld-hw__pct .rail span { position:absolute; top:-4px; width:2px; height:22px; background:var(--primary, #16181d); transform:translateX(-50%); }
.ld-pickwrap { max-width:560px; }

/* ── 커머스 레이어 (2026-09-04, docs/COMMERCE-LAYOUT-PLAN.md) ── */
.ld-decisions { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ld-dc { display:flex; flex-direction:column; background:var(--surface-1); border:1px solid var(--border-color); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-md); }
.ld-dc__link { position:relative; display:block; text-decoration:none; color:inherit; }
.ld-dc__thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.ld-dc__body { padding:14px 16px 8px; }
.ld-dc__title { margin:6px 0 0; font-size:1rem; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ld-dc__pv { font-style:normal; font-size:.72rem; color:var(--text-muted); margin-left:auto; }
.ld-dc__more { display:block; padding:10px 16px 14px; font-weight:700; font-size:.88rem; color:var(--accent); text-decoration:none; }
.ld-dc .fd-pd { margin:6px 12px 12px; }
.fd-pd { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--border-color); border-radius:12px; background:var(--surface-1); }
.fd-pd img { width:52px; height:52px; object-fit:cover; border-radius:8px; flex:none; }
.fd-pd__t { flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.fd-pd__n { font-size:.84rem; font-weight:700; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fd-pd__m { font-size:.72rem; color:var(--text-muted); }
.fd-pd__b { flex:none; background:#ff5a5f; color:#fff !important; text-decoration:none; font-weight:800; font-size:.8rem; padding:8px 11px; border-radius:8px; white-space:nowrap; }
.fd-pd--alt .fd-pd__b { background:var(--accent); }
.ld-winners { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.ld-winner { display:flex; flex-direction:column; gap:6px; }
.ld-winner .fd-pd { flex-direction:column; align-items:stretch; text-align:left; }
.ld-winner .fd-pd img { width:100%; height:auto; aspect-ratio:1; }
.ld-winner .fd-pd__b { text-align:center; }
.ld-winner__from { font-size:.72rem; color:var(--text-muted); text-decoration:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ld-winners__date, .ld-winners__note { font-size:.72rem; color:var(--text-muted); }
.ld-winners__note { margin:14px 0 0; }
.ld-season { background:var(--surface-2); border-top:1px solid var(--border-color); border-bottom:1px solid var(--border-color); padding:26px 0; }
.ld-season__in { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.ld-season__title { margin:2px 0 0; font-size:1.25rem; }
.ld-season__chips { display:flex; gap:8px; flex-wrap:wrap; }
.ld-chip { display:inline-block; padding:8px 14px; border-radius:999px; border:1px solid var(--border-color); background:var(--surface-1); font-size:.86rem; font-weight:600; text-decoration:none; color:inherit; }
.ld-chip:hover { border-color:var(--accent); color:var(--accent); }
@media (max-width:900px) { .ld-decisions { grid-template-columns:1fr; } .ld-winners { grid-template-columns:repeat(2,1fr); } }

/* ── 머니 와이어 (finance 홈, 2026-09-05 v2) — 대표 카드는 사진, 목록은 썸네일. 색은 신뢰 배지에만 ── */
.ld-wire__note{margin:.35rem 0 0;font-size:.85rem;color:var(--ink-soft,#5b6470)}
.ld-more{align-self:flex-start;font-size:.9rem;font-weight:700;color:var(--primary,#0f2b4c);text-decoration:none;white-space:nowrap}
.ld-wire{display:grid;grid-template-columns:1fr;gap:1.25rem}
.ld-wire--feat{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.ld-wf{position:relative;display:block;min-height:420px;border-radius:14px;overflow:hidden;background:#0f2b4c center/cover no-repeat;color:#fff;text-decoration:none;box-shadow:0 18px 40px -28px rgba(15,43,76,.6)}
.ld-wf::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,22,40,0) 20%,rgba(10,22,40,.55) 55%,rgba(10,22,40,.92) 100%)}
.ld-wf__body{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}
.ld-wf__title{margin:0;font-size:1.55rem;line-height:1.3;font-weight:800;color:#fff;text-wrap:balance;letter-spacing:-.01em}
.ld-wf__sum{margin:0;font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.86);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ld-wf__go{font-size:.86rem;font-weight:700;color:var(--accent,#c9993a)}
.ld-wl{display:flex;flex-direction:column;gap:.8rem}
.ld-wi{display:grid;grid-template-columns:112px minmax(0,1fr);gap:.9rem;padding:.75rem;border:1px solid var(--line,#e3e6ea);border-radius:12px;background:var(--card,#fff);text-decoration:none;color:var(--ink,#1b1b1b);transition:border-color .15s,transform .15s}
.ld-wi:hover{border-color:var(--primary,#0f2b4c);transform:translateY(-1px)}
.ld-wi__th{display:block;aspect-ratio:4/3;border-radius:8px;background:#e9edf2 center/cover no-repeat}
.ld-wi__th--ph{display:grid;place-items:center;background:var(--primary,#0f2b4c);color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.02em;text-align:center;padding:.4rem}
.ld-wi__b{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.ld-wi__meta{display:flex;flex-wrap:wrap;gap:.3rem .55rem;align-items:center;font-size:.74rem;color:var(--ink-soft,#5b6470)}
.ld-wi__meta--light{color:rgba(255,255,255,.85)}
.ld-wi__src{font-weight:700}
.ld-wi__cf{padding:.05rem .45rem;border-radius:3px;font-weight:700;font-size:.7rem}
.ld-wi__cf--sure{background:var(--primary,#0f2b4c);color:#fff}
.ld-wi__meta--light .ld-wi__cf--sure{background:#fff;color:var(--primary,#0f2b4c)}
.ld-wi__cf--likely{background:var(--accent,#c9993a);color:#1b1b1b}
.ld-wi__cf--maybe{border:1px solid currentColor;opacity:.85}
.ld-wi__hot{color:var(--accent,#c9993a);font-weight:800}
.ld-wi__title{font-size:1rem;line-height:1.4;font-weight:700;text-wrap:balance}
.ld-wi__sum{font-size:.85rem;line-height:1.5;color:var(--ink-soft,#5b6470);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ld-wi__go{font-size:.82rem;font-weight:700;color:var(--primary,#0f2b4c)}
@media (max-width:860px){.ld-wire--feat{grid-template-columns:1fr}.ld-wf{min-height:300px}.ld-wf__title{font-size:1.25rem}.ld-wi{grid-template-columns:96px minmax(0,1fr)}}
