/* ═══════════════════════════════════════════════════════════
   한국의 식량안보 2025 — .kfs-page (scoped)
   ═══════════════════════════════════════════════════════════ */
.kfs-page{
    --primary:#17463f; --primary-container:#2f6f62; --on-primary:#fff;
    --secondary:#5f6f67; --secondary-container:#e2ebe5;
    --bg:#f8f7f3; --surface-lowest:#ffffff; --surface-low:#f4f3ef;
    --surface:#edece7; --surface-high:#e4e4de;
    --on-surface:#171b19; --on-variant:#4a524d;
    --outline:#747c75; --outline-variant:#c7cec7;
    --error:#ba1a1a; --up:#2f6f62; --down:#b3541e; --amber:#8f6400; --amber-tint:#f5ecd3;
    /* 도메인: 식량안보 = Terracotta (docs/brand-color-system.md) */
    --clay:#bd5a34; --clay-deep:#8f3f1f; --clay-tint:#f6e3d8; --indigo:#3d4a7a; --indigo-deep:#262e4d;
    --headline:Manrope,"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
    --body:Inter,"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
    --sp:8px;
    background:var(--bg);color:var(--on-surface);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;
}
.kfs-page *{box-sizing:border-box;margin:0;padding:0}
.kfs-page .wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.kfs-page .num{font-family:var(--headline);font-variant-numeric:tabular-nums}
.kfs-page svg.i{width:1em;height:1em;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}
.kfs-page a{color:inherit;text-decoration:none}
.kfs-page :focus-visible{outline:3px solid var(--primary-container);outline-offset:2px;border-radius:4px}

/* ---- section header component ---- */
.kfs-page .kicker{font-family:var(--headline);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--clay-deep);display:inline-flex;align-items:center;gap:9px}
.kfs-page .kicker::before{content:"";width:22px;height:2px;background:var(--clay-deep)}
.kfs-page h2.sec{font-family:var(--headline);font-weight:800;font-size:31px;letter-spacing:-.025em;color:var(--on-surface);margin:14px 0 10px;line-height:1.22}
.kfs-page .dek{font-size:16.5px;color:var(--on-variant);max-width:62ch}
.kfs-page section{padding:66px 0;border-top:1px solid var(--outline-variant);scroll-margin-top:70px}
.kfs-page #overview{scroll-margin-top:0}

/* ---- HERO (deep-green brand band, distinct from paper body) ---- */
.kfs-page .hero{position:relative;overflow:hidden;padding:64px 0 40px;border-top:none;color:#eef6f1;
    background:
      radial-gradient(1100px 420px at 82% -8%, rgba(77,156,134,.26), transparent 60%),
      linear-gradient(135deg, rgba(21,54,48,.86) 0%, rgba(13,44,39,.91) 100%),
      url('/wp-content/uploads/2026/04/morning-rice-terrace-panorama.jpg') center/cover no-repeat;}
/* subtle field/contour texture — self-contained, no external asset */
.kfs-page .hero::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
    background-image:
      repeating-linear-gradient(115deg, rgba(255,255,255,.045) 0 1px, transparent 1px 46px),
      radial-gradient(circle at 90% 20%, rgba(255,255,255,.05), transparent 42%);
    mask-image:linear-gradient(90deg,transparent,#000 30%);}
.kfs-page .hero .wrap{position:relative}
.kfs-page .hero-grid{display:grid;grid-template-columns:1fr 306px;gap:48px;align-items:start}
.kfs-page .hero .kicker{color:#e6a98f}
.kfs-page .hero .kicker::before{background:#e6a98f}
.kfs-page .hero h1{font-family:var(--headline);font-weight:800;font-size:54px;line-height:1.06;letter-spacing:-.035em;margin:18px 0 20px;color:#fff}
.kfs-page .hero .dek{font-size:18px;max-width:52ch;color:#cfe4dc}
/* glass status card on dark band */
.kfs-page .statuscard{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:8px 20px;backdrop-filter:blur(6px)}
.kfs-page .statuscard .row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.kfs-page .statuscard .row:last-child{border-bottom:none}
.kfs-page .statuscard .lab{font-size:13px;color:#b9d4cb}
.kfs-page .statuscard .val{font-size:13.5px;font-weight:700;font-family:var(--headline);color:#fff}
.kfs-page .live{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;letter-spacing:.06em;color:#a9dcc9;text-transform:uppercase}
.kfs-page .live .dot{width:8px;height:8px;border-radius:50%;background:#63c6a6;box-shadow:0 0 0 0 rgba(99,198,166,.5);animation:kfs-pulse 2.4s infinite}
@keyframes kfs-pulse{0%{box-shadow:0 0 0 0 rgba(99,198,166,.5)}70%{box-shadow:0 0 0 7px rgba(99,198,166,0)}100%{box-shadow:0 0 0 0 rgba(99,198,166,0)}}

/* ---- INDICATOR TILE (reusable star) ---- */
.kfs-page .tiles{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px;border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden;background:var(--surface-lowest);box-shadow:0 18px 40px -12px rgba(8,28,24,.5)}
.kfs-page .tile{padding:22px;border-right:1px solid var(--outline-variant);position:relative;transition:background .18s}
.kfs-page .tile:last-child{border-right:none}
.kfs-page .tile:hover{background:var(--surface-low)}
.kfs-page .tile .tl-num{font-family:var(--headline);font-variant-numeric:tabular-nums;font-size:41px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--clay)}
.kfs-page .tile .tl-num small{font-size:17px;font-weight:700;color:var(--clay-deep)}
.kfs-page .tile .tl-lab{font-size:13.5px;color:var(--on-surface);margin-top:10px;font-weight:600}
.kfs-page .tile .tl-meta{font-size:12px;color:var(--outline);margin-top:3px}
.kfs-page .chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--headline);font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:999px;margin-top:13px}
.kfs-page .chip svg.i{width:12px;height:12px;stroke-width:2.4}
.kfs-page .chip.dn{background:#f6e7dd;color:var(--down)}
.kfs-page .chip.up{background:var(--secondary-container);color:var(--up)}
.kfs-page .chip.flat{background:var(--surface);color:var(--on-variant)}
.kfs-page .spark{position:absolute;right:18px;top:22px}

/* ---- anchor rail ---- */
.kfs-page .rail{position:sticky;top:0;z-index:5;background:rgba(248,247,243,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--outline-variant)}
.kfs-page .rail .wrap{display:flex;gap:4px;height:54px;align-items:center;overflow-x:auto;scrollbar-width:none}
.kfs-page .rail .wrap::-webkit-scrollbar{display:none}
.kfs-page .rail a{font-size:13.5px;color:var(--on-variant);text-decoration:none;padding:8px 14px;border-radius:999px;white-space:nowrap;font-weight:600;cursor:pointer;transition:.18s}
.kfs-page .rail a:hover{background:var(--surface)}
.kfs-page .rail a.on{background:var(--clay-deep);color:#fff}

/* ---- pillars ---- */
.kfs-page .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.kfs-page .pillar{background:var(--surface-lowest);border:1px solid var(--outline-variant);border-radius:14px;padding:22px;border-top:3px solid var(--outline-variant);transition:.18s}
.kfs-page .pillar:hover{box-shadow:0 6px 20px rgba(23,27,25,.06);transform:translateY(-2px)}
.kfs-page .pillar.hi{border-top-color:var(--clay)}
.kfs-page .pillar .pic{width:38px;height:38px;border-radius:10px;background:var(--secondary-container);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:13px}
.kfs-page .pillar.hi .pic{background:var(--clay-deep);color:#fff}
.kfs-page .pillar .pi{font-family:var(--headline);font-weight:800;font-size:16px;margin-bottom:5px}
.kfs-page .pillar .pd{font-size:13px;color:var(--on-variant)}
.kfs-page .pillar .tag{font-size:10.5px;font-weight:800;color:var(--clay-deep);letter-spacing:.05em;text-transform:uppercase;margin-top:9px;display:block}

/* ---- target bar chart (squared / clean) ---- */
.kfs-page .barchart{margin-top:30px;max-width:840px}
.kfs-page .bar{margin-bottom:26px}
.kfs-page .bl{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.kfs-page .bn{font-family:var(--headline);font-weight:700;font-size:15px}
.kfs-page .bv{font-size:14px;font-family:var(--headline);font-variant-numeric:tabular-nums;color:var(--clay-deep);font-weight:800}
.kfs-page .bv .bt{color:var(--on-variant);font-weight:600}
.kfs-page .btrack{position:relative;height:34px;background:var(--surface-high);border:1px solid var(--outline-variant);
    background-image:
      linear-gradient(90deg,transparent calc(33.333% - 1px),rgba(23,27,25,.12) calc(33.333% - 1px) 33.333%,transparent 33.333%),
      linear-gradient(90deg,transparent calc(66.666% - 1px),rgba(23,27,25,.12) calc(66.666% - 1px) 66.666%,transparent 66.666%);}
.kfs-page .bfill{position:absolute;left:0;top:0;bottom:0;
    display:flex;align-items:center;justify-content:flex-end;padding-right:11px;min-width:44px;box-shadow:1px 0 0 rgba(14,47,42,.35)}
/* categorical series palette — one brand family, three distinguishable hues */
.kfs-page .bfill.c1{background:linear-gradient(180deg,#2f6f62,#17463f)}   /* SET1-1 그린 */
.kfs-page .bfill.c2{background:linear-gradient(180deg,#c4693f,#8f3f1f)}   /* SET1-2 테라코타 */
.kfs-page .bfill.c3{background:linear-gradient(180deg,#4d5b91,#262e4d)}   /* SET1-3 인디고 */
.kfs-page .swatch{width:10px;height:10px;display:inline-block;margin-right:7px;vertical-align:baseline;border-radius:2px}
.kfs-page .swatch.c1{background:#17463f}
.kfs-page .swatch.c2{background:#bd5a34}
.kfs-page .swatch.c3{background:#3d4a7a}
.kfs-page .bfill span{color:#fff;font-family:var(--headline);font-weight:800;font-size:13px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.kfs-page .btarget{position:absolute;top:-5px;bottom:-5px;width:2px;background:var(--on-surface)}
.kfs-page .btarget b{position:absolute;bottom:-21px;left:50%;transform:translateX(-50%);white-space:nowrap;
    font-family:var(--headline);font-size:10.5px;font-weight:800;color:var(--on-surface);
    background:var(--surface-lowest);padding:2px 6px;border:1px solid var(--outline-variant)}
.kfs-page .baxis{position:relative;height:20px;border-top:1px solid var(--outline);margin-top:2px}
.kfs-page .baxis span{position:absolute;top:5px;transform:translateX(-50%);font-size:11px;color:var(--outline);
    font-family:var(--headline);font-variant-numeric:tabular-nums}
.kfs-page .baxis span::before{content:"";position:absolute;top:-6px;left:50%;width:1px;height:5px;background:var(--outline)}

/* ---- sub-blocks within 핵심 지표 ---- */
.kfs-page .subblock{margin-top:38px;padding-top:34px;border-top:1px solid var(--outline-variant)}
.kfs-page .subblock.first{margin-top:26px;padding-top:0;border-top:none}
.kfs-page .subtag{font-family:var(--headline);font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--clay-deep)}
.kfs-page .subtitle{font-family:var(--headline);font-size:20px;font-weight:800;letter-spacing:-.02em;margin:6px 0 2px}
.kfs-page .subrow{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;margin-top:26px;align-items:start}
.kfs-page .subcol{min-width:0}
.kfs-page .subcol .barchart,.kfs-page .subcol .dtable-wrap{margin-top:16px}
/* 독립 브레더 (왜 종합적으로 보는가) — 박스 없이 텍스트만, 여백으로 구분 */
.kfs-page .pqk{font-family:var(--headline);font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-container)}
.kfs-page .breather{border-top:none;background:var(--bg);padding:78px 0;text-align:center}
.kfs-page .breather p{font-family:var(--headline);font-weight:800;font-size:27px;line-height:1.5;letter-spacing:-.025em;max-width:30ch;margin:15px auto 0;color:var(--clay)}
.kfs-page .breather p b{color:var(--clay-deep)}
/* reference data table (생산기반) — 참고 통계 컴포넌트 */
.kfs-page .dtable-wrap{border:1px solid var(--outline-variant);border-radius:14px;overflow:hidden;margin-top:22px;max-width:660px}
.kfs-page .dtable{width:100%;border-collapse:collapse;background:var(--surface-lowest)}
.kfs-page .dtable th,.kfs-page .dtable td{text-align:left;padding:13px 18px;font-size:14px;border-bottom:1px solid var(--surface)}
.kfs-page .dtable thead th{font-family:var(--headline);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--on-variant);background:var(--surface-low)}
.kfs-page .dtable tbody tr:last-child td{border-bottom:none}
.kfs-page .dtable td.v{font-family:var(--headline);font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.kfs-page .dtable td.c{text-align:right;width:112px}
.kfs-page .chip.warn{background:var(--amber-tint);color:var(--amber)}
/* composition bar (가구 식품 지출) */
.kfs-page .compbar{margin-top:22px;max-width:780px}
.kfs-page .cbtrack{display:flex;height:40px;border-radius:8px;overflow:hidden;border:1px solid var(--outline-variant)}
.kfs-page .cbtrack .seg{display:flex;align-items:center;justify-content:center;font-family:var(--headline);font-weight:800;font-size:12.5px;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden}
.kfs-page .cbtrack .s1{background:#8f3f1f}
.kfs-page .cbtrack .s2{background:#bd5a34}
.kfs-page .cbtrack .s3{background:var(--surface-high);color:var(--on-variant)}
.kfs-page .complegend{display:flex;gap:24px;flex-wrap:wrap;margin-top:15px}
.kfs-page .complegend .lg{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--on-variant)}
.kfs-page .complegend .sw{width:11px;height:11px;border-radius:3px;flex:none}
.kfs-page .complegend b{font-family:var(--headline);color:var(--on-surface);font-variant-numeric:tabular-nums;font-weight:700}
/* composition legend swatch colors — replaces mockup's fixed-color inline style="" */
.kfs-page .sw.sc1{background:#8f3f1f}
.kfs-page .sw.sc2{background:#bd5a34}
.kfs-page .sw.sc3{background:var(--surface-high)}

/* ---- 여섯 영역 — 2열 인덱스 리스트 (구분선 전체 폭 연결) ---- */
.kfs-page .domlist{display:grid;grid-template-columns:1fr 1fr;column-gap:48px;margin-top:28px}
.kfs-page .domrow{display:grid;grid-template-columns:34px 38px 1fr;gap:14px;align-items:start;padding:14px 6px;border-bottom:1px solid var(--outline-variant);cursor:pointer;transition:background .18s}
.kfs-page .domrow:nth-child(1),.kfs-page .domrow:nth-child(2){border-top:1px solid var(--outline-variant)}
.kfs-page .domrow:hover{background:var(--surface-lowest)}
.kfs-page .domrow .idx{font-family:var(--headline);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800;color:var(--outline-variant);padding-top:8px}
.kfs-page .domrow:hover .idx{color:var(--clay-deep)}
.kfs-page .domrow .dico{width:38px;height:38px;border-radius:10px;background:var(--secondary-container);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:18px;margin-top:2px}
.kfs-page .domrow .dtx h3{font-family:var(--headline);font-size:16px;font-weight:800;letter-spacing:-.01em;margin-bottom:3px}
.kfs-page .domrow .dtx p{font-size:12.5px;color:var(--on-variant);margin-bottom:7px}
.kfs-page .domrow .dstate{font-family:var(--headline);font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;color:var(--outline)}
.kfs-page .domrow .dstate svg.i{width:12px;height:12px;stroke-width:2}

/* ---- assessment ---- */
.kfs-page .assess{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.kfs-page .acol{background:var(--surface-lowest);border:1px solid var(--outline-variant);border-radius:16px;padding:26px}
.kfs-page .acol.risk{background:#fdf4ee;border-color:#eccbb4}
.kfs-page .acol h3{font-family:var(--headline);font-size:17px;font-weight:800;display:flex;align-items:center;gap:10px;margin-bottom:15px}
.kfs-page .acol h3 svg.i{width:20px;height:20px;stroke-width:2}
.kfs-page .acol.keep h3{color:var(--primary)}
.kfs-page .acol.risk h3{color:var(--down)}
.kfs-page .acol li{list-style:none;font-size:14px;color:var(--on-variant);padding:10px 0 10px 22px;position:relative;border-top:1px solid var(--surface)}
.kfs-page .acol li:first-child{border-top:none}
.kfs-page .acol li::before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;border-radius:2px}
.kfs-page .acol.keep li::before{background:var(--primary)}
.kfs-page .acol.risk li::before{background:var(--down)}

.kfs-page .note{font-size:12px;color:var(--outline);margin-top:18px;line-height:1.55;max-width:80ch}

/* ---- international cases ---- */
.kfs-page .cases{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.kfs-page .case{background:var(--surface-lowest);border:1px solid var(--outline-variant);border-radius:16px;padding:22px;display:flex;flex-direction:column;transition:.18s}
.kfs-page .case:hover{box-shadow:0 8px 24px rgba(23,27,25,.07);transform:translateY(-2px)}
.kfs-page .case .ch{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.kfs-page .case .cico{width:36px;height:36px;border-radius:10px;background:var(--secondary-container);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:19px}
.kfs-page .case .corg{font-family:var(--headline);font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--on-variant)}
.kfs-page .case h4{font-family:var(--headline);font-size:15.5px;font-weight:800;margin-bottom:9px;letter-spacing:-.01em}
.kfs-page .case .cd{font-size:12.5px;color:var(--on-variant);margin-bottom:14px;flex:1}
.kfs-page .case ul{list-style:none;border-top:1px solid var(--surface);padding-top:12px}
.kfs-page .case li{font-size:12.5px;color:var(--on-surface);padding:4px 0 4px 15px;position:relative;font-variant-numeric:tabular-nums}
.kfs-page .case li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:var(--primary-container)}
/* 교차 배경 밴드 — 은은한 그린 틴트로 섹션 리듬 */
.kfs-page .band{background:#f0ece3}
/* 지속가능성: 밴드 + 단일 그린 액센트 카드 */
.kfs-page .v-sustain .case{border-top:3px solid var(--primary)}
.kfs-page .v-sustain .case .cico{background:var(--primary);color:#fff}

/* ---- korea coordinates (risk stats, amber) ---- */
.kfs-page .kco{margin-top:24px;background:#fdf4ee;border:1px solid #eccbb4;border-radius:16px;padding:26px}
.kfs-page .kco .kh{font-family:var(--headline);font-weight:800;font-size:13.5px;color:var(--down);margin-bottom:18px;display:flex;align-items:center;gap:8px}
.kfs-page .kco .kh svg.i{width:17px;height:17px;stroke-width:2}
.kfs-page .kstats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.kfs-page .kstat{border-left:3px solid var(--down);padding-left:15px}
.kfs-page .kstat .kn{font-family:var(--headline);font-variant-numeric:tabular-nums;font-size:31px;font-weight:800;color:var(--down);line-height:1;letter-spacing:-.025em}
.kfs-page .kstat .kl{font-size:13px;color:var(--on-surface);margin-top:9px;font-weight:600}
.kfs-page .kstat .km{font-size:11.5px;color:var(--outline);margin-top:3px}
.kfs-page .kco .knote{font-size:12.5px;color:var(--on-variant);margin-top:20px;line-height:1.6;max-width:88ch;border-top:1px solid #eccbb4;padding-top:16px}

/* ---- related reading ---- */
.kfs-page .reads{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px}
.kfs-page .readcard{background:var(--surface-lowest);border:1px solid var(--outline-variant);border-radius:16px;padding:26px;cursor:pointer;transition:.18s;display:flex;flex-direction:column;color:inherit;text-decoration:none}
.kfs-page .readcard:hover{box-shadow:0 10px 28px rgba(23,27,25,.08);transform:translateY(-3px);border-color:var(--primary-container)}
.kfs-page .readcard .re{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.kfs-page .readcard .rt{font-family:var(--headline);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--clay-deep)}
.kfs-page .readcard .rdate{font-size:12px;color:var(--outline);font-variant-numeric:tabular-nums}
.kfs-page .readcard h4{font-family:var(--headline);font-size:19px;font-weight:800;margin-bottom:10px;letter-spacing:-.015em;line-height:1.3}
.kfs-page .readcard p{font-size:13.5px;color:var(--on-variant);flex:1}
.kfs-page .readcard .more{margin-top:17px;font-family:var(--headline);font-size:13px;font-weight:800;color:var(--clay-deep);display:inline-flex;align-items:center;gap:6px}
.kfs-page .readcard .more svg.i{width:15px;height:15px;stroke-width:2.2}

/* ---- publication cadence ---- */
.kfs-page .cadence{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.kfs-page .cad{background:var(--surface-lowest);border:1px solid var(--outline-variant);border-radius:14px;padding:22px}
.kfs-page .cad.now{border-color:var(--clay);border-width:1.5px;background:linear-gradient(180deg,#f4f1ea,var(--surface-lowest))}
.kfs-page .cad .cadtag{font-family:var(--headline);font-size:10.5px;font-weight:800;color:var(--primary-container);letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.kfs-page .cad .cadtag svg.i{width:14px;height:14px;stroke-width:2}
.kfs-page .cad h4{font-family:var(--headline);font-size:16px;font-weight:800;margin-bottom:8px;letter-spacing:-.01em}
.kfs-page .cad p{font-size:12.5px;color:var(--on-variant)}
.kfs-page .digest{margin-top:20px;background:var(--primary);color:#cfe4dc;border-radius:14px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.kfs-page .digest .dtxt{font-size:14px;line-height:1.5}
.kfs-page .digest .dtxt b{color:#fff;font-family:var(--headline)}
.kfs-page .digest .dgo{background:#fff;color:var(--primary);font-family:var(--headline);font-weight:800;font-size:13.5px;padding:11px 19px;border-radius:999px;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.kfs-page .digest .dgo svg.i{width:15px;height:15px;stroke-width:2.2}

/* ---- CTA band ---- */
.kfs-page .cta-sec{border-top:1px solid var(--outline-variant)}
.kfs-page .ctaband{position:relative;overflow:hidden;background:radial-gradient(900px 300px at 80% -20%,rgba(77,156,134,.4),transparent 60%),linear-gradient(135deg,#1a4c44,#0e2f2a);color:#eef6f1;border-radius:20px;padding:44px 40px;text-align:center}
.kfs-page .ctaband .kicker{color:#9fd3c1;justify-content:center}
.kfs-page .ctaband .kicker::before{background:#9fd3c1}
.kfs-page .ctaband h3{font-family:var(--headline);font-size:24px;font-weight:800;color:#fff;margin:14px 0 10px;letter-spacing:-.025em}
.kfs-page .ctaband p{font-size:15px;color:#cfe4dc;max-width:60ch;margin:0 auto 24px}
.kfs-page .btnrow{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.kfs-page .btn{font-family:var(--headline);font-weight:800;font-size:14px;padding:12px 22px;border-radius:999px;cursor:pointer;border:1.5px solid transparent;transition:.18s;display:inline-flex;align-items:center;gap:8px}
.kfs-page .btn svg.i{width:16px;height:16px;stroke-width:2}
.kfs-page .btn.primary{background:#fff;color:var(--primary)}
.kfs-page .btn.primary:hover{background:#dcefe8}
.kfs-page .btn.ghost{background:transparent;color:#eef6f1;border-color:rgba(255,255,255,.4)}
.kfs-page .btn.ghost:hover{background:rgba(255,255,255,.1)}

/* ---- references (참고문헌) ---- */
.kfs-page .refs{background:#f0ece3;padding:52px 0}
.kfs-page .refs h2{font-family:var(--headline);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-variant);display:flex;align-items:center;gap:11px;margin:0 0 20px}
.kfs-page .refs h2::before{content:"";width:24px;height:2px;background:var(--primary-container)}
.kfs-page .refs ul{list-style:none;columns:2;column-gap:44px}
.kfs-page .refs li{font-size:12px;color:var(--on-variant);padding:7px 0;border-bottom:1px solid var(--surface);break-inside:avoid;line-height:1.5}

@media(prefers-reduced-motion:reduce){.kfs-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:820px){
    .kfs-page .cases{grid-template-columns:1fr 1fr}.kfs-page .kstats{grid-template-columns:1fr}.kfs-page .reads{grid-template-columns:1fr}
    .kfs-page .cadence{grid-template-columns:1fr 1fr}.kfs-page .refs ul{columns:1}.kfs-page .ctaband{padding:32px 22px}
    .kfs-page .dtable-wrap{overflow-x:auto}.kfs-page .subrow{grid-template-columns:1fr;gap:0}
    .kfs-page .subrow .subcol:last-child{margin-top:38px;padding-top:34px;border-top:1px solid var(--outline-variant)}
    .kfs-page .breather{padding:52px 0}.kfs-page .breather p{font-size:20px}
}
@media(max-width:820px){
    .kfs-page .wrap{padding:0 20px}
    .kfs-page .hero-grid{grid-template-columns:1fr}.kfs-page .hero h1{font-size:38px}
    .kfs-page .tiles{grid-template-columns:1fr 1fr}
    .kfs-page .tile:nth-child(2){border-right:none}.kfs-page .tile:nth-child(-n+2){border-bottom:1px solid var(--outline-variant)}
    .kfs-page .pillars{grid-template-columns:1fr 1fr}.kfs-page .assess{grid-template-columns:1fr}
    .kfs-page .domlist{grid-template-columns:1fr;column-gap:0}.kfs-page .domrow:nth-child(2){border-top:none}.kfs-page .domrow{grid-template-columns:28px 1fr;gap:12px}.kfs-page .domrow .dico{display:none}
    .kfs-page h2.sec{font-size:26px}
}
