/* awards.thekoreantoday.com — 랜딩/키워드 페이지 공용 스타일
   상단바·히어로·푸터·카톡버튼은 브랜드 다크네이비+골드를 항상 유지한다(테마 무관, 의도적 선택).
   본문(카드·표·FAQ 등)은 라이트/다크 두 테마를 전부 지원한다. */

:root {
    --bg:        #F3F5F9;
    --surface:   #FFFFFF;
    --surface-2: #EEF1F7;
    --ink:       #171A22;
    --ink-2:     #4B5468;
    --ink-3:     #7B849B;
    --line:      #E1E6EF;
    --line-2:    #CBD3E2;
    --link:      #1B54B8;
    --gold:      #92660F;
    --gold-soft: #FBF0D9;
    --gold-line: #E9CE8F;
    --shadow:    0 1px 2px rgba(23,26,34,.05), 0 6px 20px rgba(23,26,34,.06);
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --bg:        #0C0E14;
        --surface:   #14171F;
        --surface-2: #1B1F2A;
        --ink:       #E8EAF0;
        --ink-2:     #A8AFC2;
        --ink-3:     #737C94;
        --line:      #262B38;
        --line-2:    #333A4A;
        --link:      #7AA6EE;
        --gold:      #E6C568;
        --gold-soft: #241F14;
        --gold-line: #4A3E22;
        --shadow:    0 1px 2px rgba(0,0,0,.4), 0 6px 20px rgba(0,0,0,.32);
    }
}
:root[data-theme="dark"] {
    --bg:        #0C0E14;
    --surface:   #14171F;
    --surface-2: #1B1F2A;
    --ink:       #E8EAF0;
    --ink-2:     #A8AFC2;
    --ink-3:     #737C94;
    --line:      #262B38;
    --line-2:    #333A4A;
    --link:      #7AA6EE;
    --gold:      #E6C568;
    --gold-soft: #241F14;
    --gold-line: #4A3E22;
    --shadow:    0 1px 2px rgba(0,0,0,.4), 0 6px 20px rgba(0,0,0,.32);
}

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

/* 페이지 전체 별자리 배경 — 히어로 전용 캔버스와 별개.
   body 바로 아래 깔려서, 카드·표처럼 자체 배경이 칠해진 요소 안에서는
   자연히 가려지고 섹션 사이 여백에서만 보인다(가독성 훼손 없음). */
.kt-page-fx { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 0; pointer-events: none; display: block; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Noto Sans KR', sans-serif;
    line-height: 1.7;
    -webkit-text-size-adjust: 100%;
}
img { max-width: 100%; height: auto; }
a { color: var(--link); }
::selection { background: var(--gold-soft); color: var(--ink); }

/* ── 상단 신뢰바 — 항상 다크(브랜드 크롬, 테마 무관) ───── */
.kt-topbar { position: sticky; top: 0; z-index: 900; background: rgba(10,10,26,.94);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255,215,0,.25); box-shadow: 0 2px 20px rgba(0,0,0,.35); }
.kt-topbar-inner { max-width: 1140px; margin: 0 auto; padding: 9px 20px; display: flex; align-items: center; gap: 14px; }
.kt-topbar-brand { display: flex; align-items: center; gap: 9px; color: #fff; text-decoration: none;
    font-weight: 800; font-size: 15px; letter-spacing: -.3px; white-space: nowrap; }
.kt-topbar-brand img { width: 26px; height: 26px; border-radius: 6px; display: block; }
.kt-topbar-brand b { color: #FFD700; text-shadow: 0 0 8px rgba(255,215,0,.45); }
.kt-topbar-reg { color: #9aa4c0; font-size: 12px; border-left: 1px solid rgba(255,255,255,.15); padding-left: 14px; }
.kt-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.kt-topbar-tel { color: #00ffff; text-decoration: none; font-size: 13px; font-weight: 700; white-space: nowrap; }
.kt-topbar-tel:hover { text-decoration: underline; }
.kt-topbar-kakao { display: inline-flex; align-items: center; gap: 6px; background: #FEE500; color: #191600;
    text-decoration: none; font-size: 13px; font-weight: 800; white-space: nowrap; padding: 7px 13px;
    border-radius: 999px; transition: transform .15s, box-shadow .15s; }
.kt-topbar-kakao:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(254,229,0,.45); }

/* 테마·언어 스위치 — 상단바에 얹는 작은 토글 한 벌 */
.kt-switches { display: flex; align-items: center; gap: 4px; }
.kt-theme-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; border-radius: 8px; border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.05); color: #d7dcec; cursor: pointer; padding: 0;
    transition: background .15s, border-color .15s;
}
.kt-theme-btn:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.28); }
.kt-theme-btn svg { width: 15px; height: 15px; display: block; }
.kt-theme-btn .i-moon { display: none; }
:root[data-theme="dark"] .kt-theme-btn .i-sun { display: none; }
:root[data-theme="dark"] .kt-theme-btn .i-moon { display: block; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .kt-theme-btn .i-sun { display: none; }
    :root:not([data-theme="light"]) .kt-theme-btn .i-moon { display: block; }
}
.kt-lang { display: flex; align-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; overflow: hidden; }
.kt-lang a { color: #9aa4c0; text-decoration: none; font-size: 11.5px; font-weight: 800;
    letter-spacing: .02em; padding: 6px 9px; }
.kt-lang a.on { background: #FFD700; color: #1a1400; }
.kt-lang a:not(.on):hover { background: rgba(255,255,255,.08); color: #fff; }

@media (max-width: 900px) { .kt-topbar-reg { display: none; } }
@media (max-width: 560px) {
    .kt-topbar-inner { padding: 8px 14px; gap: 8px; }
    .kt-topbar-brand { font-size: 13px; } .kt-topbar-brand img { width: 22px; height: 22px; }
    .kt-topbar-tel { display: none; }
}
/* ★좁은 화면 가로 스크롤 방지 (2026-09-19 실측 — 390px 에서 상단바가 415px 까지 삐져나갔다)
   상단바는 .kt-nav 와 달리 내부 스크롤이 없어서 그대로 페이지 가로 스크롤이 된다.
   카톡 버튼은 우하단 플로팅(.kt-kakao-fab)이 같은 역할을 하므로 좁은 화면에서는 상단바 것만 감춘다. */
@media (max-width: 460px) {
    .kt-topbar-kakao { display: none; }
    .kt-topbar-brand { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}

/* ── 언어 안내 배너 (영문판 상단) ─────────────────────── */
.kt-lang-notice { background: var(--surface-2); border-bottom: 1px solid var(--line); }
.kt-lang-notice .kt-wrap { padding: 10px 20px; font-size: 12.5px; color: var(--ink-2); text-align: center; }

/* ── 메뉴 — 항상 다크 ─────────────────────────────────── */
.kt-nav { background: #0f1629; border-bottom: 1px solid rgba(255,255,255,.08); }
.kt-nav-inner { max-width: 1140px; margin: 0 auto; padding: 0 20px; display: flex; gap: 4px; align-items: center;
    overflow-x: auto; scrollbar-width: none; }
.kt-nav-inner::-webkit-scrollbar { display: none; }
.kt-nav a { color: #c3cbe0; text-decoration: none; font-size: 14px; font-weight: 600; padding: 12px 14px;
    white-space: nowrap; border-bottom: 2px solid transparent; }
.kt-nav a:hover { color: #fff; }
.kt-nav a.on { color: #FFD700; border-bottom-color: #FFD700; }
.kt-nav a.cta { margin-left: auto; background: #FFD700; color: #1a1400; border-radius: 999px;
    padding: 7px 18px; margin-top: 6px; margin-bottom: 6px; font-weight: 800; border-bottom: 0; }
.kt-nav a.cta:hover { background: #ffe74d; color: #1a1400; }

/* ── 히어로 — 항상 다크 ───────────────────────────────── */
.kt-hero { position: relative; overflow: hidden;
    background: linear-gradient(135deg, #0a0a1a 0%, #1a0a2e 50%, #0a1628 100%); color: #fff;
    padding: 64px 20px 56px; text-align: center; }
/* 마우스 별자리 — wiamotion.ai 이식. 히어로는 테마 무관 항상 다크라 색을 브랜드 골드로 고정한다. */
.kt-hero-fx { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; display: block; }
.kt-hero > *:not(.kt-hero-fx) { position: relative; z-index: 1; }
.kt-hero h1 { margin: 0 0 16px; font-size: clamp(28px, 5vw, 44px); font-weight: 900; letter-spacing: -1px; line-height: 1.25; }
.kt-hero h1 b { color: #FFD700; }
.kt-hero .lead { margin: 0 auto 28px; max-width: 700px; font-size: clamp(15px, 2.2vw, 18px); color: #cbd5e1; }
.kt-hero-badges { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 28px; }
.kt-hero-badges span { font-size: 13px; color: #e2e8f0; background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,215,0,.3); border-radius: 999px; padding: 6px 14px; }

/* ── 히어로 안내영상 — CTA 바로 아래 ───────────────────── */
.kt-hero-video { max-width: 860px; margin: 32px auto 0; }
.kt-hero-video video,
.kt-hero-video iframe,
.kt-hero-video .kt-yt { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9;
    background: #0a0e1c; border-radius: 14px; border: 1px solid rgba(255,215,0,.28);
    box-shadow: 0 14px 40px rgba(0,0,0,.45); }
/* 유튜브 파사드 — 누르기 전까지는 썸네일 한 장뿐 */
.kt-hero-video .kt-yt { position: relative; padding: 0; overflow: hidden; cursor: pointer;
    -webkit-appearance: none; appearance: none; }
.kt-hero-video .kt-yt img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kt-hero-video .kt-yt:hover img, .kt-hero-video .kt-yt:focus-visible img { opacity: .82; }
.kt-hero-video .kt-yt:focus-visible { outline: 3px solid #FFD700; outline-offset: 3px; }
.kt-yt-play { position: absolute; left: 50%; top: 64%; transform: translate(-50%, -50%);
    /* 가운데에 두면 썸네일 무대 문구('2026 코리안 브랜드 대상')를 가린다 — 아래로 내린다 */
    width: 84px; height: 59px; border-radius: 16px; background: rgba(18,18,18,.82);
    transition: background .15s; }
.kt-yt-play::after { content: ""; position: absolute; left: 50%; top: 50%;
    transform: translate(-42%, -50%); border-style: solid; border-width: 15px 0 15px 26px;
    border-color: transparent transparent transparent #fff; }
.kt-hero-video .kt-yt:hover .kt-yt-play { background: #ff0000; }
@media (max-width: 640px) { .kt-yt-play { width: 64px; height: 45px; }
    .kt-yt-play::after { border-width: 11px 0 11px 19px; } }
.kt-hero-video figcaption { margin-top: 10px; font-size: 13px; color: #cbd5e1; }
@media (max-width: 640px) { .kt-hero-video { margin-top: 24px; } }

/* ── 버튼 ─────────────────────────────────────────────── */
.kt-btns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.kt-btn { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; font-weight: 800;
    font-size: 16px; padding: 15px 32px; border-radius: 999px; transition: transform .15s, box-shadow .15s; }
.kt-btn:hover { transform: translateY(-2px); }
.kt-btn-gold { background: linear-gradient(135deg, #FFD700, #f59e0b); color: #1a1400;
    box-shadow: 0 6px 22px rgba(245,158,11,.4); }
.kt-btn-kakao { background: #FEE500; color: #191600; box-shadow: 0 6px 22px rgba(254,229,0,.35); }
.kt-btn-ghost { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.35); }
.kt-btn-ghost:hover { border-color: #FFD700; color: #FFD700; }

/* ── 제외조건 고지 — 플랜에 안 들어가는 것을 분명히 알린다 ── */
.kt-excl { margin: 0 0 22px; padding: 13px 18px; font-size: 15px; line-height: 1.6;
    color: var(--ink); background: rgba(234,88,12,.08);
    border: 1px solid rgba(234,88,12,.45); border-left: 4px solid #ea580c; border-radius: 8px; }
.kt-excl b { color: #9a3412; }
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .kt-excl b { color: #fdba74; }
    :root:not([data-theme="light"]) .kt-excl { background: rgba(234,88,12,.12); }
}
:root[data-theme="dark"] .kt-excl b { color: #fdba74; }
:root[data-theme="dark"] .kt-excl { background: rgba(234,88,12,.12); }
/* 카드 안 제외조건 — 본문 회색에 묻히지 않게 색을 되살린다 */
.kt-x { color: #9a3412; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .kt-x { color: #fdba74; } }
:root[data-theme="dark"] .kt-x { color: #fdba74; }

/* ── 섹션 ─────────────────────────────────────────────── */
.kt-wrap { max-width: 1000px; margin: 0 auto; padding: 0 20px; }
.kt-sec { padding: 56px 0; border-top: 1px solid var(--line); }
.kt-sec:first-of-type { border-top: 0; }
.kt-sec h2 { font-size: clamp(22px, 3.4vw, 30px); font-weight: 800; letter-spacing: -.6px;
    margin: 0 0 12px; color: var(--ink); }
.kt-sec h3 { font-size: clamp(17px, 2.4vw, 20px); font-weight: 800; margin: 28px 0 10px; color: var(--ink); }
.kt-sec .sub { color: var(--ink-2); margin: 0 0 28px; font-size: 15px; }
.kt-sec p { margin: 0 0 14px; color: var(--ink); }

/* ── 카드 ─────────────────────────────────────────────── */
.kt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.kt-card { border: 1px solid var(--line); border-radius: 14px; padding: 24px; background: var(--surface);
    box-shadow: var(--shadow); }
.kt-card .ico { font-size: 30px; line-height: 1; margin-bottom: 12px; display: block; }
.kt-card h3 { margin: 0 0 8px; font-size: 18px; font-weight: 800; color: var(--ink); }
.kt-card p { margin: 0; font-size: 14px; color: var(--ink-2); }
.kt-card.hl { border-color: var(--gold-line); background: var(--gold-soft); }

/* ── 단계 ─────────────────────────────────────────────── */
.kt-steps { list-style: none; counter-reset: s; margin: 0; padding: 0; }
.kt-steps li { counter-increment: s; position: relative; padding: 0 0 24px 54px; }
.kt-steps li::before { content: counter(s); position: absolute; left: 0; top: 0;
    width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center;
    background: linear-gradient(135deg, #FFD700, #f59e0b); color: #1a1400; font-weight: 900; font-size: 16px; }
.kt-steps li::after { content: ''; position: absolute; left: 17px; top: 40px; bottom: 4px; width: 2px; background: var(--line); }
.kt-steps li:last-child { padding-bottom: 0; }
.kt-steps li:last-child::after { display: none; }
.kt-steps b { display: block; font-size: 17px; color: var(--ink); margin-bottom: 4px; }
.kt-steps span { font-size: 14px; color: var(--ink-2); }

/* ── 표 ───────────────────────────────────────────────── */
.kt-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 12px;
    border-radius: 10px; box-shadow: var(--shadow); }
table.kt-table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 14px;
    background: var(--surface); border-radius: 10px; overflow: hidden; }
table.kt-table th { background: #0f1629; color: #fff; text-align: left; padding: 12px 14px; font-weight: 700; }
table.kt-table th.num, table.kt-table td.num { text-align: right; }
table.kt-table td { padding: 12px 14px; border-top: 1px solid var(--line); color: var(--ink); }
table.kt-table tbody tr:nth-child(even) { background: var(--surface-2); }
table.kt-table .em { font-weight: 800; color: var(--ink); }
.kt-note { font-size: 13px; color: var(--ink-3); margin: 0 0 4px; }

/* ── FAQ ──────────────────────────────────────────────── */
.kt-faq { border: 1px solid var(--line); border-radius: 12px; padding: 0 18px; margin-bottom: 10px; background: var(--surface); }
.kt-faq summary { cursor: pointer; font-weight: 700; padding: 16px 0; font-size: 16px; color: var(--ink); list-style: none; }
.kt-faq summary::-webkit-details-marker { display: none; }
.kt-faq summary::after { content: '+'; float: right; color: var(--ink-3); font-weight: 400; font-size: 22px; line-height: 1; }
.kt-faq[open] summary::after { content: '\2212'; }
.kt-faq .a { padding: 0 0 18px; color: var(--ink-2); font-size: 15px; }
.kt-faq .a p { margin: 0 0 10px; }
.kt-faq .a p:last-child { margin: 0; }

/* ── 강조 박스 ────────────────────────────────────────── */
.kt-callout { border-left: 4px solid var(--gold); background: var(--gold-soft); padding: 18px 20px;
    border-radius: 0 10px 10px 0; margin: 0 0 20px; }
.kt-callout p { margin: 0 0 8px; font-size: 15px; color: var(--ink); }
.kt-callout p:last-child { margin: 0; }
.kt-callout b { color: var(--gold); }

/* ── CTA 밴드 — 항상 다크 ─────────────────────────────── */
.kt-cta { background: linear-gradient(135deg, #0a0a1a, #1a0a2e); color: #fff; text-align: center; padding: 56px 20px; }
.kt-cta h2 { font-size: clamp(21px, 3.2vw, 28px); font-weight: 800; margin: 0 0 10px; }
.kt-cta p { color: #cbd5e1; margin: 0 0 26px; font-size: 15px; }

/* ── 푸터 — 항상 다크 ─────────────────────────────────── */
.kt-footer { background: linear-gradient(180deg, #0a0a1a, #0a1628); color: #8892a8; margin-top: 0; }
.kt-footer-line { height: 3px; background: linear-gradient(90deg, #ff00ff, #00ffff, #ff00ff); }
.kt-footer-inner { max-width: 1000px; margin: 0 auto; padding: 34px 20px 30px; text-align: center; }
.kt-footer-nav { margin-bottom: 12px; font-size: 13px; }
.kt-footer-nav a { color: #FFD700; text-decoration: none; margin: 0 9px; }
.kt-footer-nav a:hover { text-decoration: underline; }
.kt-footer-nav span { color: #555; }
.kt-footer-info { font-size: 13px; line-height: 1.75; margin-top: 18px;
    border-top: 1px solid rgba(255,255,255,.08); padding-top: 18px; }
.kt-footer-info p { margin: 0; }
.kt-footer-info a { color: #00ffff; text-decoration: none; }
.kt-footer-info .kt-copy { margin-top: 10px; color: #6b7488; }

/* ── 카톡 플로팅 — 항상 노랑(브랜드 고정색) ───────────── */
.kt-kakao-fab { position: fixed; right: 30px; bottom: 30px; z-index: 899; display: flex; align-items: center; gap: 8px;
    background: #FEE500; color: #191600; text-decoration: none; font-size: 14px; font-weight: 800;
    letter-spacing: -.3px; padding: 12px 18px 12px 15px; border-radius: 999px;
    box-shadow: 0 6px 22px rgba(0,0,0,.28), 0 0 0 3px rgba(255,255,255,.5);
    transition: transform .18s, box-shadow .18s; animation: ktPop .5s ease .8s both; }
.kt-kakao-fab:hover { transform: translateY(-3px) scale(1.03); }
.kt-kakao-fab .kt-kakao-emoji { font-size: 20px; line-height: 1; }
.kt-kakao-fab .kt-kakao-sub { display: block; font-size: 10px; font-weight: 700; opacity: .65; margin-top: 1px; }
@keyframes ktPop { from { opacity: 0; transform: translateY(14px) scale(.9); } to { opacity: 1; transform: none; } }
@media (max-width: 768px) { .kt-kakao-fab { right: 16px; bottom: 16px; padding: 11px 16px 11px 13px; font-size: 13px; } }

@media (prefers-reduced-motion: reduce) {
    * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ── 수상사례 (/winners) ──────────────────────────────── */
.kt-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.kt-filter a { display: inline-flex; align-items: center; gap: 6px; text-decoration: none;
    font-size: 14px; font-weight: 700; color: var(--ink-2); background: var(--surface-2);
    border: 1px solid var(--line); border-radius: 999px; padding: 8px 16px; transition: all .15s; }
.kt-filter a:hover { border-color: var(--line-2); color: var(--ink); }
.kt-filter a.on { background: #0f1629; border-color: #0f1629; color: #FFD700; }
.kt-filter a b { font-weight: 800; opacity: .7; font-size: 13px; }

.kt-winners { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 20px; }
.kt-win { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--surface);
    box-shadow: var(--shadow); transition: transform .18s, box-shadow .18s; }
.kt-win:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(0,0,0,.16); }
.kt-win-link { display: block; text-decoration: none; color: inherit; height: 100%; }
.kt-win-img { aspect-ratio: 16 / 9; background: var(--surface-2); overflow: hidden; }
.kt-win-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kt-win-noimg { display: grid; place-items: center;
    background: linear-gradient(135deg, #0f1629, #1a0a2e); }
.kt-win-noimg span { font-size: 44px; }
.kt-win-body { padding: 16px 18px 18px; }
.kt-win-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 9px; }
.kt-win-badge { font-size: 11px; font-weight: 800; color: var(--gold); background: var(--gold-soft);
    border: 1px solid var(--gold-line); border-radius: 999px; padding: 3px 9px; }
.kt-win-meta time { font-size: 12px; color: var(--ink-3); }
.kt-win-title { font-size: 16px; font-weight: 800; line-height: 1.45; color: var(--ink); margin: 0 0 8px;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.kt-win-sum { font-size: 13.5px; color: var(--ink-2); margin: 0 0 12px; line-height: 1.6;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kt-win-more { font-size: 13px; font-weight: 700; color: var(--link); }
.kt-win:hover .kt-win-more { text-decoration: underline; }

/* ── 수상사 포털 (/my/{token}) ─────────────────────────── */
.kt-quota { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0 4px; }
.kt-quota-box { background: var(--surface); border: 1px solid var(--line); border-radius: 12px;
    padding: 18px 12px; text-align: center; box-shadow: var(--shadow); }
.kt-quota-box.on { border-color: var(--gold); background: var(--gold-soft); }
.kt-quota-num { font-size: 34px; font-weight: 800; line-height: 1.1; color: var(--ink); }
.kt-quota-box.on .kt-quota-num { color: var(--gold); }
.kt-quota-lab { font-size: 13px; color: var(--ink-3); margin-top: 6px; }
@media (max-width: 420px) { .kt-quota-num { font-size: 26px; } .kt-quota-lab { font-size: 12px; } }

.kt-form { display: block; margin-top: 16px; }
.kt-form label { display: block; margin: 0 0 16px; font-weight: 700; font-size: 15px; color: var(--ink); }
.kt-form label .kt-note { display: inline; font-weight: 400; }
/* type 을 하나씩 나열하면 새 입력 유형이 늘 때마다 빠진다(실제로 date 가 빠져 칸이 좁았다).
   그래서 입력 요소 전반을 잡고, 체크박스·라디오만 되돌린다. */
.kt-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.kt-form textarea, .kt-form select {
    display: block; width: 100%; margin-top: 7px; padding: 11px 13px; font: inherit; font-weight: 400;
    color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 9px;
    box-sizing: border-box; }
.kt-form textarea { resize: vertical; line-height: 1.6; }
.kt-form input:focus, .kt-form textarea:focus, .kt-form select:focus {
    outline: 2px solid var(--gold); outline-offset: 1px; border-color: transparent; }
.kt-form label.kt-check { display: flex; gap: 10px; align-items: flex-start;
    font-weight: 400; font-size: 14px; color: var(--ink-2); line-height: 1.6; }
.kt-form label.kt-check input { margin-top: 3px; flex: none; }
.kt-form button { margin-top: 4px; }

.kt-embed { display: block; width: 100%; margin-top: 10px; padding: 12px 14px; box-sizing: border-box;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12.5px; line-height: 1.6;
    color: var(--ink-2); background: var(--surface-2); border: 1px solid var(--line); border-radius: 9px;
    resize: vertical; }

/* ── 수상 기업 개별 페이지 (/winners/{uid}-{slug}) ────── */
.kt-crumb { font-size: 13px; color: var(--ink-3); margin: 22px 0 -6px; }
.kt-crumb a { color: var(--ink-3); text-decoration: none; }
.kt-crumb a:hover { color: var(--gold); text-decoration: underline; }

.kt-prevnext { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.kt-prevnext a { display: block; padding: 14px 16px; background: var(--surface); border: 1px solid var(--line);
    border-radius: 11px; text-decoration: none; color: var(--ink); box-shadow: var(--shadow); }
.kt-prevnext a:hover { border-color: var(--gold); }
.kt-prevnext a .kt-note { display: block; margin-bottom: 4px; }
.kt-prevnext a b { font-size: 14.5px; line-height: 1.5; }

/* 밝은 본문 위에서 쓰는 보조 버튼.
   .kt-btn-ghost 는 흰 글씨/반투명 테두리라 어두운 히어로 전용이다 — 본문에 쓰면 글씨가 사라진다. */
.kt-btn-outline { background: transparent; color: var(--ink); border: 2px solid var(--line); }
.kt-btn-outline:hover { border-color: var(--gold); color: var(--gold); }

/* ── 안내자료 다운로드 (/downloads) ───────────────────── */
.kt-dl { display: grid; gap: 16px; }
.kt-dl-item { display: grid; grid-template-columns: 56px 1fr auto; align-items: center;
    column-gap: 20px; text-decoration: none;
    background: var(--surface); border: 1px solid var(--line); border-radius: 16px;
    padding: 24px 26px; box-shadow: var(--shadow);
    transition: transform .18s, border-color .18s, box-shadow .18s; }
.kt-dl-item:hover { transform: translateY(-2px); border-color: var(--gold);
    box-shadow: 0 10px 28px rgba(0,0,0,.14); }

/* 아이콘은 원형 배경 위에 — 맨 글자로 두면 본문에 묻힌다 */
.kt-dl-ico { width: 56px; height: 56px; display: flex; align-items: center; justify-content: center;
    font-size: 27px; line-height: 1; border-radius: 50%;
    background: var(--gold-soft); border: 1px solid var(--line); }

.kt-dl-body { min-width: 0; }
.kt-dl-name { display: block; font-size: 18px; font-weight: 800; color: var(--ink);
    letter-spacing: -.01em; margin-bottom: 7px; }
.kt-dl-name em { font-style: normal; font-size: 11.5px; font-weight: 800; color: var(--gold);
    background: var(--gold-soft); border: 1px solid var(--line); border-radius: 999px;
    padding: 3px 10px; margin-left: 9px; vertical-align: middle; white-space: nowrap; }
.kt-dl-desc { display: block; font-size: 14.5px; line-height: 1.72; color: var(--ink-2); margin-bottom: 10px; }
.kt-dl-meta { display: inline-block; font-size: 12.5px; font-weight: 600; color: var(--ink-3);
    background: var(--surface-2); border-radius: 6px; padding: 4px 10px; }

/* 버튼처럼 보이게 — 카드 전체가 링크지만 누를 곳이 어디인지 눈에 보여야 한다 */
.kt-dl-go { font-size: 14.5px; font-weight: 800; color: #1a1400; background: #FFD700;
    border-radius: 999px; padding: 12px 24px; white-space: nowrap; }
.kt-dl-item:hover .kt-dl-go { background: #ffe74d; }

@media (max-width: 640px) {
    .kt-dl-item { grid-template-columns: 48px 1fr; row-gap: 14px; padding: 20px; }
    .kt-dl-ico { width: 48px; height: 48px; font-size: 23px; }
    .kt-dl-go { grid-column: 1 / -1; text-align: center; padding: 13px 20px; }
}

/* ── 수상 기업 검색 (/winners) ─────────────────────────── */
.kt-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

.kt-search { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 18px; }
.kt-search input[type=search] { flex: 1; min-width: 200px; font: inherit; font-size: 15px;
    padding: 12px 16px; color: var(--ink); background: var(--surface);
    border: 1px solid var(--line); border-radius: 999px; box-sizing: border-box; }
.kt-search input[type=search]:focus { outline: 2px solid var(--gold); outline-offset: 1px; border-color: transparent; }
.kt-search button { font: inherit; font-size: 15px; font-weight: 800; cursor: pointer;
    color: #1a1400; background: #FFD700; border: 0; border-radius: 999px; padding: 12px 26px; }
.kt-search button:hover { background: #ffe74d; }
.kt-search-clear { font-size: 14px; color: var(--ink-3); text-decoration: none; padding: 0 6px; }
.kt-search-clear:hover { color: var(--gold); text-decoration: underline; }

.kt-filter-sm a { font-size: 13px; padding: 6px 13px; }

/* ── 폼 카드 (공문 생성기 등 내부 도구) ────────────────── */
.kt-form-card fieldset { border: 1px solid var(--line); border-radius: 12px;
    padding: 6px 22px 18px; margin: 0 0 18px; background: var(--surface); }
.kt-form-card legend { font-size: 13px; font-weight: 800; letter-spacing: .04em;
    color: var(--gold); padding: 0 8px; }
.kt-form-card label { margin-bottom: 14px; }
.kt-form-card label:last-child { margin-bottom: 0; }
.kt-form-card .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
@media (max-width: 620px) { .kt-form-card .row2 { grid-template-columns: 1fr; } }
.kt-form-card small { display: block; margin-top: 5px; font-size: 12.5px;
    font-weight: 400; color: var(--ink-3); line-height: 1.6; }
.kt-form-card small code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 12px; background: var(--surface-2); border: 1px solid var(--line);
    border-radius: 4px; padding: 1px 5px; }
.kt-form-card b.req { font-size: 11px; font-weight: 800; color: #b91c1c;
    background: #fee2e2; border-radius: 999px; padding: 2px 8px; margin-left: 5px;
    vertical-align: middle; }
.kt-form-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.kt-form-actions .kt-note { margin: 0; }

/* ── 업종 허브 (/winners/industry) ─────────────────────── */
.kt-ind-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.kt-ind { display: block; text-decoration: none; background: var(--surface);
    border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px;
    box-shadow: var(--shadow); transition: transform .18s, border-color .18s; }
.kt-ind:hover { transform: translateY(-2px); border-color: var(--gold); }
.kt-ind-n { display: inline-block; font-size: 13px; font-weight: 800; color: var(--gold);
    background: var(--gold-soft); border-radius: 999px; padding: 3px 11px; margin-bottom: 10px; }
.kt-ind-n::after { content: '곳'; font-weight: 700; margin-left: 1px; }
.kt-ind-name { display: block; font-size: 17px; font-weight: 800; color: var(--ink); margin-bottom: 5px; }
.kt-ind-desc { display: block; font-size: 13.5px; line-height: 1.6; color: var(--ink-3); }

/* ── 수상 결과물 사진 (홈) ─────────────────────────────── */
.kt-shots { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.kt-shots figure { margin: 0; }
.kt-shots img { width: 100%; height: auto; display: block; border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.kt-shots figcaption { margin-top: 10px; font-size: 13.5px; font-weight: 700;
    color: var(--ink-2); text-align: center; }

/* ── 수상 제공물 미리보기 (/preview) ───────────────────── */
.kt-awardtabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 26px; }
.kt-awardtab { display: flex; flex-direction: column; align-items: center; gap: 6px;
    font: inherit; cursor: pointer; padding: 18px 12px; text-align: center;
    background: var(--surface); color: var(--ink-2);
    border: 2px solid var(--line); border-radius: 14px; transition: all .18s; }
.kt-awardtab:hover { border-color: var(--line-2); color: var(--ink); }
.kt-awardtab.on { background: #0f1629; border-color: #0f1629; color: #FFD700; }
.kt-awardtab .ico { font-size: 26px; line-height: 1; }
.kt-awardtab .nm { font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
@media (max-width: 560px) {
    .kt-awardtabs { grid-template-columns: 1fr; gap: 8px; }
    .kt-awardtab { flex-direction: row; justify-content: center; padding: 14px; }
    .kt-awardtab .ico { font-size: 20px; }
}

.kt-pane { display: none; }
.kt-pane.on { display: block; }

/* 상장 — 가로폭을 꽉 채운다. 두 장이 나란히 서되 화면이 좁으면 한 장씩. */
.kt-certs { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.kt-certs figure, .kt-emblems figure { margin: 0; }

/* ★무지개 테두리 — wiabook(cqm) sso-callback.html 의 팔레트·흐름을 그대로 가져왔다.
   테두리만 그라데이션으로 칠하려면 padding 을 준 래퍼를 배경으로 쓰고 안쪽을 흰색으로 덮는다
   (border-image 는 border-radius 와 같이 못 쓴다). */
:root {
    --rainbow-1: #ff6b6b; --rainbow-2: #ff9a76; --rainbow-3: #feca57; --rainbow-4: #a8e063;
    --rainbow-5: #48dbfb; --rainbow-6: #54a0ff; --rainbow-7: #5f27cd; --rainbow-8: #ff9ff3;
}
.kt-certs figure {
    padding: 5px; border-radius: 16px;
    background: linear-gradient(135deg, var(--rainbow-1), var(--rainbow-2), var(--rainbow-3),
        var(--rainbow-4), var(--rainbow-5), var(--rainbow-6), var(--rainbow-7), var(--rainbow-8), var(--rainbow-1));
    background-size: 400% 400%;
    animation: ktRainbow 20s ease-in-out infinite;
    box-shadow: 0 10px 34px rgba(0,0,0,.20);
}
@keyframes ktRainbow {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
@media (prefers-reduced-motion: reduce) { .kt-certs figure { animation: none; } }

.kt-certs img { width: 100%; height: auto; display: block;
    border-radius: 11px; background: #fff; }
.kt-certs figcaption { margin: 10px 0 4px; font-size: 14px; font-weight: 800;
    color: #fff; text-align: center; text-shadow: 0 1px 3px rgba(0,0,0,.45); }

/* 엠블럼 — 이미지 비율이 제각각(원형 280 / 메달 349 / 리본·육각 333)이라
   그냥 두면 캡션 y 값이 어긋난다. 높이를 고정하고 안에서 가운데 맞춤. */
.kt-emblems { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 720px) { .kt-emblems { grid-template-columns: repeat(2, 1fr); } }
.kt-emblems figure { display: flex; flex-direction: column; }
.kt-emblems .box { height: 190px; display: flex; align-items: center; justify-content: center; }
@media (max-width: 560px) { .kt-emblems .box { height: 150px; } }
.kt-emblems img { max-width: 100%; max-height: 100%; width: auto; height: auto;
    display: block; object-fit: contain; }
.kt-emblems figcaption { margin-top: 12px; font-size: 13.5px; font-weight: 700;
    color: var(--ink-2); text-align: center; }

/* 사용 예시 사진 — 캡션 줄맞춤은 같은 원리 */
.kt-shots figure { display: flex; flex-direction: column; }
.kt-shots figcaption { margin-top: auto; padding-top: 10px; }

/* 라이트박스 — 상장은 작게 보면 글자가 안 읽힌다 */
.kt-lb { position: fixed; inset: 0; z-index: 9999; display: none;
    background: rgba(6,8,16,.93); padding: 4vh 4vw; }
.kt-lb.on { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; }
.kt-lb img { max-width: 100%; max-height: 82vh; object-fit: contain; border-radius: 8px; }
.kt-lb-cap { color: #e2e8f5; font-size: 14px; font-weight: 700; text-align: center; }
.kt-lb-x { position: absolute; top: 16px; right: 20px; width: 44px; height: 44px;
    font-size: 30px; line-height: 1; cursor: pointer; color: #fff;
    background: rgba(255,255,255,.12); border: 0; border-radius: 50%; }
.kt-lb-x:hover { background: rgba(255,255,255,.22); }

/* 항목이 4개일 때는 2×2 가 보기 좋다 — auto-fit 으로 두면 3+1 로 깨진다 */
.kt-grid.kt-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 620px) { .kt-grid.kt-grid-2 { grid-template-columns: 1fr; } }

/* 라이트박스 — 큰 이미지를 받는 동안 썸네일이 보이므로 로딩 중임을 알려준다 */
.kt-lb.loading::after { content: ''; position: absolute; top: 50%; left: 50%;
    width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%;
    border: 3px solid rgba(255,255,255,.25); border-top-color: #FFD700;
    animation: ktSpin .8s linear infinite; }
@keyframes ktSpin { to { transform: rotate(360deg); } }
.kt-lb.loading img { opacity: .55; filter: blur(1px); }
.kt-lb img { transition: opacity .2s, filter .2s; }
.kt-shotpane { display: none; }
.kt-shotpane.on { display: block; }
