/* Food and Climate — supplemental theme styles
 * Layouts/components that can't be expressed via theme.json alone.
 */

/* ─────────── Pretendard Variable (self-hosted) ─────────── */
@font-face {
    font-family: 'Pretendard Variable';
    font-weight: 45 920;
    font-style: normal;
    font-display: swap;
    src: url('./fonts/PretendardVariable.woff2') format('woff2-variations');
}

/* ── DESIGN.md §2 "Glass & Gradient Rule" + §4 "Glassmorphism Depth" ─
   Hero 그라디언트 + Primary CTA 그라디언트 + 글래스 nav.
   "Policy Curator" 에디토리얼 톤의 시그니처 요소. */

/* (G) 글래스 nav 헤더 — sticky + backdrop-blur + 스크롤 상태 전환
     최상단: 가벼운 글래스 (hero 그라디언트가 은은히 비침)
     스크롤: 강한 글래스 + 녹색 틴트 shadow — 콘텐츠와 명확히 분리

     sticky 는 <header class="wp-block-template-part"> 레벨에 적용 —
     내부 wp:group 의 sticky 는 부모(header)가 fit-content height 라 작동 안 함.
     wp-site-blocks 가 document height 이므로 header 가 그 안에서 스크롤 공간 확보. */
header.wp-block-template-part:has(.fnc-glass-nav) {
    position: sticky;
    top: 0;
    z-index: 50;
}
.fnc-glass-nav.wp-block-group {
    position: static !important; /* 중첩 sticky 제거 — 부모 header 가 담당 */
    background-color: rgba(247, 249, 255, 0.55) !important;
    backdrop-filter: blur(10px) saturate(120%);
    -webkit-backdrop-filter: blur(10px) saturate(120%);
    box-shadow: none;
    transition:
        background-color 0.3s ease,
        backdrop-filter 0.3s ease,
        -webkit-backdrop-filter 0.3s ease,
        box-shadow 0.3s ease,
        padding 0.25s ease;
    will-change: backdrop-filter, background-color;
}
.fnc-glass-nav.wp-block-group.is-scrolled {
    background-color: rgba(247, 249, 255, 0.82) !important;
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    box-shadow:
        0 1px 0 rgba(13, 99, 27, 0.06),
        0 10px 30px rgba(13, 99, 27, 0.06);
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}
/* Safari 대체 — backdrop-filter 미지원 브라우저는 더 불투명 */
@supports not (backdrop-filter: blur(1px)) {
    .fnc-glass-nav.wp-block-group {
        background-color: rgba(247, 249, 255, 0.92) !important;
    }
}

/* 모바일 햄버거 오버레이 — 글래스 nav 의 반투명 bg 를 상속받지 않도록
   메뉴 열렸을 때 불투명 글래스로 덮어 가독성 확보 */
.fnc-glass-nav .wp-block-navigation__responsive-container.is-menu-open {
    background-color: rgba(247, 249, 255, 0.98) !important;
    backdrop-filter: blur(24px) saturate(140%);
    -webkit-backdrop-filter: blur(24px) saturate(140%);
}

/* (A) Hero 커버 오버레이 — 모든 alignfull wp:cover 에 드라마틱한 좌우 흐름.
     좌측: 깊은 primary(~85% 불투명) — 텍스트·배지 가독성 확보
     우측: 밝은 primary-container(~35%) + 라임 휘점(~15%) — 히어로 이미지 드러남
     기존 has-background-dim opacity 메커니즘 우회 (opacity:1, rgba 로 직접 제어). */
.wp-block-cover.alignfull > .wp-block-cover__background.has-background-dim[style*="background-color"] {
    background: linear-gradient(100deg,
        rgba(13, 99, 27, 0.88) 0%,
        rgba(13, 99, 27, 0.70) 40%,
        rgba(46, 125, 50, 0.40) 75%,
        rgba(203, 255, 194, 0.18) 100%
    ) !important;
    opacity: 1 !important;
}

/* (B) Primary CTA — has-primary-background-color 를 가진 버튼에 그라디언트.
     WP 가 기본(theme.json primary) 버튼에 자동 부여하는 클래스라 명시적 인라인
     background-color 커스텀이 없는 버튼만 정확히 캐치. */
.wp-block-button__link.wp-element-button.has-primary-background-color:not([style*="background-color"]) {
    background: linear-gradient(135deg,
        var(--wp--preset--color--primary) 0%,
        var(--wp--preset--color--primary-container) 100%
    ) !important;
    background-color: transparent !important;
    transition: background 0.25s ease, transform 0.18s ease, box-shadow 0.25s ease;
}
.wp-block-button__link.wp-element-button.has-primary-background-color:not([style*="background-color"]):hover {
    background: linear-gradient(135deg,
        var(--wp--preset--color--primary-container) 0%,
        var(--wp--preset--color--primary) 100%
    ) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(13, 99, 27, 0.25);
}
/* Outline 스타일은 그라디언트 없음 — 투명 bg 유지 */
.wp-block-button.is-style-outline .wp-block-button__link.wp-element-button {
    background: transparent !important;
}

/* ─────────── Border-radius scale ─────────── */
:root {
    --fnc-radius-sm:  0.5rem;   /* tags, chips, small elements */
    --fnc-radius-md:  0.75rem;  /* card images, bento cells */
    --fnc-radius-lg:  1.25rem;  /* cards, panels */
    --fnc-radius-xl:  1.5rem;   /* hero cards, large containers */

    /* Primer-style accent token layer — default = KIFC green.
       Overridden per-L1 via body.has-l1-<slug>. 4층 구조(fg/emphasis/subtle/muted). */
    --fnc-accent-fg:          #106b56;                 /* text/links */
    --fnc-accent-fg-strong:   #0d631b;                 /* on-highlight 강한 대비용 */
    --fnc-accent-emphasis:    #2e7d32;                 /* solid bg, strong accent */
    --fnc-accent-subtle:      #e6f4ea;                 /* tinted bg (부드러운 녹색 배경) */
    --fnc-accent-highlight:   #cbffc2;                 /* 라임 highlighter — 활성 chip/선택 강조 */
    --fnc-accent-muted:       rgba(46, 125, 50, 0.35); /* borders, hairlines */
    --fnc-accent-on-emphasis: #ffffff;

    /* Editorial typography stack — 영어-only uppercase 라벨·eyebrow 전용.
       한글·본문·헤드라인은 그대로 Pretendard 사용 (theme.json `label`/`headline`/`body`).
       "Policy Curator" 디자인 기조의 Manrope 글자꼴을 영문 구간에만 적용. */
    --fnc-font-en-label:   "Manrope", "Pretendard Variable", Pretendard, "Inter", system-ui, sans-serif;
    --fnc-font-en-display: "Manrope", "Pretendard Variable", Pretendard, system-ui, sans-serif;
    --fnc-font-en-body:    "Inter", "Pretendard Variable", Pretendard, system-ui, sans-serif;

    /* Design token aliases — inline-style 컴포넌트(ycl-foundation-stage 등)용 */
    --color-background-primary:   #ffffff;
    --color-background-secondary: #f5f5f7;
    --color-background-info:      #e6f4ea;
    --color-text-primary:         #1d1d1f;
    --color-text-secondary:       #6e6e73;
    --color-text-info:            #006565;
    --color-border-tertiary:      #d2d2d7;
    --border-radius-md:           0.5rem;
    --border-radius-lg:           0.75rem;
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* food-security — 테라코타·버터넛 (녹색에서 해방, 수확·곡물의 따뜻한 톤) */
body.has-l1-food-security {
    --fnc-accent-fg:          #9a3412;                  /* orange-8, AAA on white */
    --fnc-accent-emphasis:    #c2410c;                  /* orange-7, 버튼 solid bg */
    --fnc-accent-subtle:      #fff7ed;                  /* orange-0 */
    --fnc-accent-muted:       rgba(253, 186, 116, 0.55);/* orange-3 @ 55% */
    --fnc-accent-on-emphasis: #ffffff;
}

/* food-security (legacy) — default 는 더 이상 녹색이 아님, 위 override 적용 */

/* ═══════════════════════════════════════════════════════════════
   L2 sub-page under-tones — L1 parent 팔레트의 shade 변조
   각 L2는 부모 L1 의 hue family 안에서 미세 차별
   ═══════════════════════════════════════════════════════════════ */

/* food-security L2 — 테라코타 계열 under-tone */
body.has-l2-climate-agriculture {
    --fnc-accent-fg:          #881337;                  /* rose-9 — 기후/따뜻 */
    --fnc-accent-emphasis:    #be123c;                  /* rose-7 */
    --fnc-accent-subtle:      #ffe4e6;                  /* rose-1 */
    --fnc-accent-muted:       rgba(251, 113, 133, 0.45);/* rose-4 */
    --fnc-accent-on-emphasis: #ffffff;
}
body.has-l2-global-supply-chain {
    --fnc-accent-fg:          #78350f;                  /* amber-9 — 어쓰/공급망 */
    --fnc-accent-emphasis:    #9a3412;                  /* orange-8 */
    --fnc-accent-subtle:      #fef3c7;                  /* amber-1 */
    --fnc-accent-muted:       rgba(217, 119, 6, 0.40);  /* amber-6 */
    --fnc-accent-on-emphasis: #ffffff;
}

/* agricultural-policy L2 — 블루 계열 under-tone */
body.has-l2-agri-technology {
    --fnc-accent-fg:          #0e7490;                  /* cyan-7 — 기술/혁신 */
    --fnc-accent-emphasis:    #0891b2;                  /* cyan-6 */
    --fnc-accent-subtle:      #ecfeff;                  /* cyan-0 */
    --fnc-accent-muted:       rgba(34, 211, 238, 0.40); /* cyan-4 */
    --fnc-accent-on-emphasis: #ffffff;
}
body.has-l2-agri-research {
    --fnc-accent-fg:          #3730a3;                  /* indigo-7 — 학술/연구 */
    --fnc-accent-emphasis:    #4338ca;                  /* indigo-6 */
    --fnc-accent-subtle:      #eef2ff;                  /* indigo-0 */
    --fnc-accent-muted:       rgba(129, 140, 248, 0.40);/* indigo-4 */
    --fnc-accent-on-emphasis: #ffffff;
}
body.has-l2-agri-management {
    --fnc-accent-fg:          #334155;                  /* slate-7 — 경영/구조 */
    --fnc-accent-emphasis:    #475569;                  /* slate-6 */
    --fnc-accent-subtle:      #f1f5f9;                  /* slate-1 */
    --fnc-accent-muted:       rgba(100, 116, 139, 0.40);/* slate-5 */
    --fnc-accent-on-emphasis: #ffffff;
}
body.has-l2-agri-global {
    --fnc-accent-fg:          #0369a1;                  /* sky-7 — 국제/해외 */
    --fnc-accent-emphasis:    #0284c7;                  /* sky-6 */
    --fnc-accent-subtle:      #e0f2fe;                  /* sky-1 */
    --fnc-accent-muted:       rgba(56, 189, 248, 0.40); /* sky-4 */
    --fnc-accent-on-emphasis: #ffffff;
}

/* agricultural-policy — Primer blue scale (WCAG AA on white) */
body.has-l1-agricultural-policy {
    --fnc-accent-fg:          #0550ae;                  /* blue-6 */
    --fnc-accent-emphasis:    #0969da;                  /* blue-5 */
    --fnc-accent-subtle:      #ddf4ff;                  /* blue-0 */
    --fnc-accent-muted:       rgba(84, 174, 255, 0.45); /* blue-3 @ 45% */
    --fnc-accent-on-emphasis: #ffffff;
}

/* agricultural-energy — Primer amber scale (노랑 텍스트는 AA 미달이라 fg 는 어두운 amber 고정) */
body.has-l1-agricultural-energy {
    --fnc-accent-fg:          #7d4e00;                  /* yellow-6, AAA on white */
    --fnc-accent-emphasis:    #bf8700;                  /* yellow-4, 버튼 solid bg */
    --fnc-accent-subtle:      #fff8c5;                  /* yellow-0 */
    --fnc-accent-muted:       rgba(212, 167, 44, 0.45); /* yellow-3 @ 45% */
    --fnc-accent-on-emphasis: #ffffff;
}

/* education-events — Primer purple scale (WCAG AA on white) */
body.has-l1-education-events {
    --fnc-accent-fg:          #6639ba;                  /* purple-6 */
    --fnc-accent-emphasis:    #8250df;                  /* purple-5 */
    --fnc-accent-subtle:      #fbefff;                  /* purple-0 */
    --fnc-accent-muted:       rgba(194, 151, 230, 0.45);/* purple-3 @ 45% */
    --fnc-accent-on-emphasis: #ffffff;
}

/* ─── L1 accent — touchpoints (all has-l1-*) ───────────────────────── */
/* .fnc-l1-eyebrow: 모든 L1 hero 상단 uppercase 라벨 — 4개 L1 전체 공통.
   !important: 각 페이지의 인라인 style="color:var(--fnc-accent-highlight)" 를 덮어쓰기 위함 (테마 차원 L1 theming). */
body[class*="has-l1-"] .fnc-l1-eyebrow {
    color: var(--fnc-accent-fg) !important;
}
body[class*="has-l1-"] .fnc-l1-hero-accent {
    color: var(--fnc-accent-emphasis);
}
body[class*="has-l1-"] .fnc-bento-side--accent {
    border-left-color: var(--fnc-accent-emphasis) !important;
}
body[class*="has-l1-"] .fnc-link-arrow {
    color: var(--fnc-accent-fg);
}
body[class*="has-l1-"] .fnc-newsletter-card .fnc-newsletter-cta,
body[class*="has-l1-"] .fnc-newsletter-card button {
    background: var(--fnc-accent-emphasis);
}
body[class*="has-l1-"] .fnc-newsletter-card .fnc-newsletter-cta:hover {
    background: var(--fnc-accent-fg);
}
body[class*="has-l1-"] .fnc-newsletter-card input[type=email]:focus {
    outline-color: var(--fnc-accent-emphasis);
}
body[class*="has-l1-"] .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
body[class*="has-l1-"] .wp-block-navigation .current-menu-parent > .wp-block-navigation-item__content,
body[class*="has-l1-"] .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content {
    color: var(--fnc-accent-emphasis);
    font-weight: 600;
}

/* ─── B안: L1 별 지배 컴포넌트 accent ──────────────────────────────── */

/* agricultural-energy — tech-cell--accent 블록 (하드코딩 green → amber) */
body.has-l1-agricultural-energy .fnc-tech-cell--accent {
    background: var(--fnc-accent-emphasis);
}
body.has-l1-agricultural-energy .fnc-tech-cell--accent .btn:hover {
    color: var(--fnc-accent-emphasis);
}

/* education-events — feature cell + event pills (하드코딩 green → purple) */
body.has-l1-education-events .fnc-edu-cell--feature {
    background: var(--fnc-accent-emphasis);
}
body.has-l1-education-events .fnc-edu-cell--feature::after {
    /* purple 이 perceptually 무거워 원본(0.85/0.5) 유지 시 배경 사진이 가려짐.
       하단(텍스트 영역)은 가독성 확보, 상단은 사진 노출. */
    background: linear-gradient(180deg,
        rgba(102, 57, 186, 0.15) 0%,
        rgba(102, 57, 186, 0.35) 45%,
        rgba(82, 42, 151, 0.82) 100%);
}
body.has-l1-education-events .fnc-edu-cell--feature p {
    color: #ecd8ff !important; /* purple-1, dark purple bg 위 soft readable */
}
body.has-l1-education-events .fnc-edu-cell--feature .fnc-edu-btn {
    color: var(--fnc-accent-emphasis);
}
body.has-l1-education-events .fnc-event-pill--workshop,
body.has-l1-education-events .fnc-event-pill--forum {
    background: var(--fnc-accent-subtle);
    color: var(--fnc-accent-fg);
}

/* food-security — metric-card--accent (default 녹색이지만 token 바인딩으로
   향후 색 조정 시 자동 전파되게 개선) */
body.has-l1-food-security .fnc-metric-card--accent {
    background: var(--fnc-accent-emphasis) !important;
    box-shadow: 0 20px 40px -12px var(--fnc-accent-muted);
}

/* ─── 카드 메타/타이틀 — L1 accent ────────────────────────────────── */
body[class*="has-l1-"] .fnc-card-meta .fnc-card-eyebrow,
body[class*="has-l1-"] .fnc-card-meta .fnc-card-eyebrow a {
    color: var(--fnc-accent-fg);
}
body[class*="has-l1-"] .fnc-card-title a:hover {
    color: var(--fnc-accent-fg);
}

/* ─── 카드 placeholder palette fan — L1 안에서 3단 rotation ──────────
   기존 .fnc-news-grid > :nth-child(1/2/3) 는 MD3 green 3종 → 모두 녹색.
   L1 별로 perceptually 구분되는 3단 팔레트를 3n+1/2/3 으로 반복. */

/* Tone target: saturation ~50%, lightness start ~50% → end ~70%.
   각 L1 3개 변종은 family 안에서 hue 를 분명히 달리해 눈에 보이게 구분. */

/* food-security — green / teal / olive */
body.has-l1-food-security .fnc-news-grid > :nth-child(3n+1) .fnc-card-image {
    background: linear-gradient(135deg, #3a9a55, #7ec492);
}
body.has-l1-food-security .fnc-news-grid > :nth-child(3n+2) .fnc-card-image {
    background: linear-gradient(135deg, #2b8476, #69b2a4);
}
body.has-l1-food-security .fnc-news-grid > :nth-child(3n+3) .fnc-card-image {
    background: linear-gradient(135deg, #5b903b, #95b976);
}

/* agricultural-policy — blue / teal / indigo */
body.has-l1-agricultural-policy .fnc-news-grid > :nth-child(3n+1) .fnc-card-image {
    background: linear-gradient(135deg, #3571c1, #77a5d8);
}
body.has-l1-agricultural-policy .fnc-news-grid > :nth-child(3n+2) .fnc-card-image {
    background: linear-gradient(135deg, #308c9c, #6fc0ce);
}
body.has-l1-agricultural-policy .fnc-news-grid > :nth-child(3n+3) .fnc-card-image {
    background: linear-gradient(135deg, #4d50b8, #8f92d8);
}

/* agricultural-energy — amber / orange / olive */
body.has-l1-agricultural-energy .fnc-news-grid > :nth-child(3n+1) .fnc-card-image {
    background: linear-gradient(135deg, #c99c35, #e6c67a);
}
body.has-l1-agricultural-energy .fnc-news-grid > :nth-child(3n+2) .fnc-card-image {
    background: linear-gradient(135deg, #c47033, #e39e6e);
}
body.has-l1-agricultural-energy .fnc-news-grid > :nth-child(3n+3) .fnc-card-image {
    background: linear-gradient(135deg, #8e9634, #c2ca74);
}

/* education-events — purple / pink / indigo */
body.has-l1-education-events .fnc-news-grid > :nth-child(3n+1) .fnc-card-image {
    background: linear-gradient(135deg, #7d51c9, #b494e3);
}
body.has-l1-education-events .fnc-news-grid > :nth-child(3n+2) .fnc-card-image {
    background: linear-gradient(135deg, #b9499b, #d48ac1);
}
body.has-l1-education-events .fnc-news-grid > :nth-child(3n+3) .fnc-card-image {
    background: linear-gradient(135deg, #5858c9, #8c8ce3);
}

/* ─── L0 / archive: 카드 자체의 category-<slug> 클래스로 분기 ────────
   L1 페이지는 위 body 기반 rule(specificity 더 높음)이 우선. L0 홈에서는
   각 카드가 자신의 카테고리 색을 띄도록, nth-child 3 단 로테이션 유지. */

/* food-security */
.wp-block-post.category-food-security:nth-child(3n+1) .fnc-card-image,
li.category-food-security:nth-child(3n+1) .fnc-card-image {
    background: linear-gradient(135deg, #3a9a55, #7ec492);
}
.wp-block-post.category-food-security:nth-child(3n+2) .fnc-card-image,
li.category-food-security:nth-child(3n+2) .fnc-card-image {
    background: linear-gradient(135deg, #2b8476, #69b2a4);
}
.wp-block-post.category-food-security:nth-child(3n+3) .fnc-card-image,
li.category-food-security:nth-child(3n+3) .fnc-card-image {
    background: linear-gradient(135deg, #5b903b, #95b976);
}

/* agricultural-policy */
.wp-block-post.category-agricultural-policy:nth-child(3n+1) .fnc-card-image,
li.category-agricultural-policy:nth-child(3n+1) .fnc-card-image {
    background: linear-gradient(135deg, #3571c1, #77a5d8);
}
.wp-block-post.category-agricultural-policy:nth-child(3n+2) .fnc-card-image,
li.category-agricultural-policy:nth-child(3n+2) .fnc-card-image {
    background: linear-gradient(135deg, #308c9c, #6fc0ce);
}
.wp-block-post.category-agricultural-policy:nth-child(3n+3) .fnc-card-image,
li.category-agricultural-policy:nth-child(3n+3) .fnc-card-image {
    background: linear-gradient(135deg, #4d50b8, #8f92d8);
}

/* agricultural-energy */
.wp-block-post.category-agricultural-energy:nth-child(3n+1) .fnc-card-image,
li.category-agricultural-energy:nth-child(3n+1) .fnc-card-image {
    background: linear-gradient(135deg, #c99c35, #e6c67a);
}
.wp-block-post.category-agricultural-energy:nth-child(3n+2) .fnc-card-image,
li.category-agricultural-energy:nth-child(3n+2) .fnc-card-image {
    background: linear-gradient(135deg, #c47033, #e39e6e);
}
.wp-block-post.category-agricultural-energy:nth-child(3n+3) .fnc-card-image,
li.category-agricultural-energy:nth-child(3n+3) .fnc-card-image {
    background: linear-gradient(135deg, #8e9634, #c2ca74);
}

/* education-events */
.wp-block-post.category-education-events:nth-child(3n+1) .fnc-card-image,
li.category-education-events:nth-child(3n+1) .fnc-card-image {
    background: linear-gradient(135deg, #7d51c9, #b494e3);
}
.wp-block-post.category-education-events:nth-child(3n+2) .fnc-card-image,
li.category-education-events:nth-child(3n+2) .fnc-card-image {
    background: linear-gradient(135deg, #b9499b, #d48ac1);
}
.wp-block-post.category-education-events:nth-child(3n+3) .fnc-card-image,
li.category-education-events:nth-child(3n+3) .fnc-card-image {
    background: linear-gradient(135deg, #5858c9, #8c8ce3);
}

/* L2 (food-security 산하) — 녹색 family 공유 */
.wp-block-post.category-climate-agriculture:nth-child(3n+1) .fnc-card-image,
.wp-block-post.category-global-supply-chain:nth-child(3n+1) .fnc-card-image,
li.category-climate-agriculture:nth-child(3n+1) .fnc-card-image,
li.category-global-supply-chain:nth-child(3n+1) .fnc-card-image {
    background: linear-gradient(135deg, #3a9a55, #7ec492);
}
.wp-block-post.category-climate-agriculture:nth-child(3n+2) .fnc-card-image,
.wp-block-post.category-global-supply-chain:nth-child(3n+2) .fnc-card-image,
li.category-climate-agriculture:nth-child(3n+2) .fnc-card-image,
li.category-global-supply-chain:nth-child(3n+2) .fnc-card-image {
    background: linear-gradient(135deg, #2b8476, #69b2a4);
}
.wp-block-post.category-climate-agriculture:nth-child(3n+3) .fnc-card-image,
.wp-block-post.category-global-supply-chain:nth-child(3n+3) .fnc-card-image,
li.category-climate-agriculture:nth-child(3n+3) .fnc-card-image,
li.category-global-supply-chain:nth-child(3n+3) .fnc-card-image {
    background: linear-gradient(135deg, #5b903b, #95b976);
}

/* ─────────── Material Symbols inline tweaks ─────────── */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    vertical-align: middle;
}

/* ─────────── Bento grid (Research Clusters) ─────────── */
.fnc-bento {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, minmax(220px, 1fr));
    gap: 1.5rem;
    min-height: 600px;
}
.fnc-bento .fnc-bento-cell {
    position: relative;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}
.fnc-bento a.fnc-bento-cell { text-decoration: none; }
.fnc-bento .fnc-bento-cell:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(13, 99, 27,.08); }
.fnc-bento-cell--lg  { grid-column: span 2; grid-row: span 2; }
.fnc-bento-cell--md  { grid-column: span 2; }
.fnc-bento-cell--sm  { grid-column: span 1; }
.fnc-bento-cell .icon-bg {
    position: absolute; top: 1rem; right: 1rem;
    font-size: 96px; opacity: .25; line-height: 1;
}
.fnc-bento-cell .icon-bg.icon-xl { font-size: 200px; right: -20px; bottom: -20px; top: auto; opacity: .1; }

/* Front-page hero — 농업경영 시뮬레이터 CTA (우측 상단 귀퉁이 탭) */
.fnc-hero-action-row {
    align-items: center;
    gap: 0.75rem 1rem;
}
.fnc-hero-action-row .wp-block-buttons { margin: 0; }
.fnc-hero-tool-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.75rem 1.125rem 0.75rem 0.9rem;
    background: rgba(13,99,27,0.88);
    border: 0;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    backdrop-filter: blur(8px);
    box-shadow: 0 6px 18px rgba(13, 99, 27,0.22);
    transition: background 0.2s, color 0.2s, padding-right 0.2s, transform 0.2s;
}
.fnc-hero-tool-cta:hover {
    background: rgba(251,191,36,0.97);
    color: #78350f;
    padding-right: 1.35rem;
}
.fnc-hero-tool-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: rgba(203,255,194,0.2);
    color: var(--fnc-accent-highlight);
    flex-shrink: 0;
    transition: background 0.2s, color 0.2s;
}
.fnc-hero-tool-cta:hover .fnc-hero-tool-icon {
    background: rgba(120,53,15,0.18);
    color: #78350f;
}
.fnc-hero-tool-text {
    display: flex; flex-direction: column;
    line-height: 1.15;
}
.fnc-hero-tool-sub {
    font-size: 9.5px; font-weight: 800;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: rgba(255,255,255,0.78);
    transition: color 0.2s;
}
.fnc-hero-tool-cta:hover .fnc-hero-tool-sub { color: rgba(120,53,15,0.85); }
.fnc-hero-tool-ttl {
    font-size: 0.8375rem; font-weight: 700;
    letter-spacing: -0.01em;
    margin-top: 1px;
}
.fnc-hero-tool-arrow {
    font-weight: 800; font-size: 0.9rem;
    color: var(--fnc-accent-highlight);
    transition: color 0.2s, transform 0.2s;
}
.fnc-hero-tool-cta:hover .fnc-hero-tool-arrow {
    color: #78350f;
    transform: translateX(2px);
}
@media (max-width: 640px) {
    .fnc-hero-action-row { justify-content: flex-start; }
    .fnc-hero-tool-cta {
        padding: 0.55rem 0.85rem 0.55rem 0.65rem;
        gap: 0.45rem;
    }
    .fnc-hero-tool-icon { width: 22px; height: 22px; }
    .fnc-hero-tool-ttl { font-size: 0.75rem; }
    .fnc-hero-tool-sub { font-size: 9px; }
    .fnc-hero-tool-arrow { font-size: 0.8rem; }
}

/* ── Home 행사 안내 섹션 박스 (Food Security 아래 / Research Clusters 위) ─── */
.fnc-event-banner-box {
    position: relative;
    background: #fbf8f4;
    border: 1px solid #e9e3da;
    border-radius: 18px;
    padding: 1.6rem 1.75rem 1.75rem;
    box-shadow: 0 8px 22px rgba(24,40,30,0.06);
}
.fnc-event-banner-box::before {
    content: "";
    position: absolute; left: 0; top: 1.4rem; bottom: 1.4rem;
    width: 3px;
    background: #c8a87c;
    border-radius: 0 3px 3px 0;
}
.fnc-event-banner-head {
    display: flex; align-items: baseline; gap: 0.85rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}
.fnc-event-banner-eyebrow {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #78501c;
    background: #f4e3c2;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
}
.fnc-event-banner-heading {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    color: #1a2420;
    margin: 0;
}
@media (max-width: 640px) {
    .fnc-event-banner-box { padding: 1.25rem 1.25rem 1.4rem; border-radius: 14px; }
    .fnc-event-banner-box::before { display: none; }
    .fnc-event-banner-heading { font-size: 1.1rem; }
}

/* ── L0 home hero — 갑갑함 해소 위해 데스크톱 720px, 모바일은 축소 ───── */
.fnc-home-hero-cover {
    min-height: 720px !important;
}
@media (max-width: 1024px) {
    .fnc-home-hero-cover { min-height: 620px !important; }
}
@media (max-width: 640px) {
    .fnc-home-hero-cover { min-height: 520px !important; }
}

/* ── home hero 오버레이: 단색 대신 방향성 그라데이션 — 좌하단(텍스트) 유지, 우상단 개방 ── */
.fnc-home-hero-cover .wp-block-cover__background {
    opacity: 1 !important;
    background-color: transparent !important;
    background-image: linear-gradient(
        135deg,
        rgba(14, 26, 20, 0.82) 0%,
        rgba(14, 26, 20, 0.55) 40%,
        rgba(14, 26, 20, 0.18) 75%,
        rgba(14, 26, 20, 0.00) 100%
    ) !important;
}

.fnc-event-banner {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 0.9rem 1.25rem;
    /* 기존 #1b2620 (near-black forest) — box 바깥의 cream/tan/brown earth 팔레트와 이질적.
       같은 warm family 의 dark umber 로 정렬. pill(#f4e3c2), 텍스트 브라운(#78501c) 과 수직 계층. */
    background: #4a3420;
    color: #fff;
    text-decoration: none;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(60,40,20,0.20);
    transition: transform .2s, box-shadow .2s, background .2s;
    min-height: 72px;
}
.fnc-event-banner:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(60,40,20,0.28);
    background: #5a4029;
}
.fnc-event-banner-left {
    display: flex; align-items: center; gap: 0.85rem;
    flex-shrink: 0;
    padding-right: 1rem;
    border-right: 1px solid rgba(255,255,255,0.18);
}
.fnc-event-banner-pill {
    display: inline-block;
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    background: #f4e3c2;
    color: #78501c;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.fnc-event-banner-date {
    display: flex; flex-direction: column; align-items: center; line-height: 1;
    min-width: 3.5rem;
}
.fnc-event-banner-date strong {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.1rem;
    font-weight: 800;
    color: #f4e3c2;
}
.fnc-event-banner-date span {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.75);
    margin-top: 0.2rem;
}
.fnc-event-banner-body {
    display: flex; flex-direction: column; min-width: 0; flex: 1;
    gap: 0.2rem;
}
.fnc-event-banner-title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fnc-event-banner-meta {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.78);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fnc-event-banner-cta {
    display: flex; align-items: center; gap: 0.45rem;
    flex-shrink: 0;
    padding-left: 1rem;
    border-left: 1px solid rgba(255,255,255,0.18);
}
.fnc-event-banner-label {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #f4e3c2;
}
.fnc-event-banner-arrow {
    font-size: 1.1rem;
    font-weight: 800;
    color: #f4e3c2;
    transition: transform .2s;
}
.fnc-event-banner:hover .fnc-event-banner-arrow { transform: translateX(3px); }
@media (max-width: 840px) {
    .fnc-event-banner { flex-wrap: wrap; gap: 0.75rem; padding: 1rem; }
    .fnc-event-banner-left { padding-right: 0; border-right: 0; }
    .fnc-event-banner-body { flex-basis: 100%; order: 3; }
    .fnc-event-banner-cta { padding-left: 0; border-left: 0; margin-left: auto; }
    .fnc-event-banner-title { white-space: normal; }
    .fnc-event-banner-meta { white-space: normal; }
}

/* Agricultural Policy cluster — Policy Proposals 카드 */
.fnc-cluster-policy { min-height: 220px; }

/* ── 이벤트 배너 하단 정책 제안 링크 행 ─────────────────── */
.fnc-event-policy-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #e9e3da;
}
.fnc-event-policy-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    transition: gap 0.2s ease;
    letter-spacing: -0.01em;
}
.fnc-event-policy-link:hover { gap: 0.75rem; color: var(--wp--preset--color--primary); text-decoration: none; }
.fnc-event-policy-link .material-symbols-outlined { font-size: 18px; }
.fnc-event-policy-badge {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
    background: #e3fffe;
    border: 1px solid var(--wp--preset--color--primary-container);
    padding: 3px 8px;
    border-radius: 999px;
}
.fnc-cluster-policy::after {
    content: "";
    position: absolute; inset: 0;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: var(--fnc-radius-sm);
    pointer-events: none;
    transition: border-color 0.25s ease;
}
.fnc-cluster-policy:hover::after { border-color: rgba(251,191,36,0.55); }

@media (max-width: 768px) {
    .fnc-bento {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        min-height: auto;
    }
    .fnc-bento-cell--lg, .fnc-bento-cell--md, .fnc-bento-cell--sm {
        grid-column: span 1;
        grid-row: span 1;
    }
}


/* ─────────── Section title style ─────────── */
.fnc-section-title {
    text-align: center;
    margin-bottom: 3rem;
}

/* ─────────── Full-bleed support inside post-content wrapper ───────────
   wp:post-content 블록이 자동 생성하는 .wp-block-post-content 래퍼는
   기본적으로 constrained 레이아웃이라 alignfull 자식이 안에 갇힌다.
   자식의 alignfull을 viewport 폭으로 복원.
*/
.wp-block-post-content.is-layout-constrained > .alignfull,
.entry-content.wp-block-post-content > .alignfull {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

/* ─────────── Editorial body text (bypasses fluid clamp) ─────────── */
.fnc-editorial-body {
    font-size: 1.125rem !important;
    line-height: 1.625 !important;
}

/* ─────────── News card grid (Food Security section) ─────────── */
.fnc-news-grid,
ul.wp-block-post-template.fnc-news-grid,
.wp-block-post-template.fnc-news-grid {
    gap: 1.5rem !important;
    align-items: stretch !important;
    list-style: none !important;
    padding-left: 0 !important;
}
.fnc-news-grid > li,
.fnc-news-grid > .wp-block-post,
.wp-block-post-template > li {
    display: flex !important;
    list-style: none !important;
}

.fnc-news-card {
    background: var(--wp--preset--color--surface-container-lowest, #ffffff);
    border-radius: var(--fnc-radius-md);
    overflow: hidden;
    width: 100%;
    height: 100%;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    transition: transform .2s ease, box-shadow .2s ease;
    border: 1px solid var(--wp--preset--color--outline-variant, #eae8e7);
}
.fnc-news-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(13, 99, 27,.07);
}
.fnc-news-card a { text-decoration: none; }

/* Image area: aspect-ratio fixed, gradient fallback when no featured image */
.fnc-card-image,
.fnc-news-card > .fnc-card-image {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;          /* override has-global-padding */
    background: linear-gradient(135deg,
        var(--wp--preset--color--primary, var(--fnc-accent-fg-strong)),
        var(--wp--preset--color--secondary, var(--fnc-accent-fg)));
    position: relative;
    width: 100%;
    flex-shrink: 0;
}
.fnc-card-image > * { margin: 0 !important; }
.fnc-card-image .wp-block-post-featured-image,
.fnc-card-image figure {
    width: 100%; height: 100%;
    margin: 0 !important;
}
.fnc-card-image .wp-block-post-featured-image a,
.fnc-card-image figure > a {
    display: block; width: 100%; height: 100%;
}
.fnc-card-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

/* Color variants for cards without featured image (visual rhythm) */
.fnc-news-grid > :nth-child(2) .fnc-card-image {
    background: linear-gradient(135deg,
        var(--wp--preset--color--secondary, var(--fnc-accent-fg)),
        var(--wp--preset--color--tertiary, #415a55));
}
.fnc-news-grid > :nth-child(3) .fnc-card-image {
    background: linear-gradient(135deg,
        var(--wp--preset--color--tertiary, #415a55),
        var(--wp--preset--color--primary-container, #2e7d32));
}

/* Decorative corner icon — only on cards WITHOUT featured image */
.fnc-card-image::after {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 48;
    font-weight: normal;
    font-style: normal;
    font-size: 160px;
    line-height: 1;
    position: absolute;
    top: -12px;
    right: -8px;
    color: rgba(255, 255, 255, 0.22);
    pointer-events: none;
    user-select: none;
    z-index: 1;
    overflow: hidden;
    transition: transform .35s ease, color .25s ease;
}
.fnc-news-card:hover .fnc-card-image::after {
    transform: scale(1.06) rotate(-4deg);
    color: rgba(255, 255, 255, 0.32);
}

/* Hide decoration when post has a real featured image */
.wp-block-post.has-post-thumbnail .fnc-card-image::after,
li.has-post-thumbnail .fnc-card-image::after {
    content: none !important;
    display: none !important;
}

/* Per-category icon assignment (Material Symbols ligatures) */
.wp-block-post.category-food-security .fnc-card-image::after,
li.category-food-security .fnc-card-image::after { content: "shield_with_heart"; }

.wp-block-post.category-agricultural-energy .fnc-card-image::after,
li.category-agricultural-energy .fnc-card-image::after { content: "bolt"; }

.wp-block-post.category-agricultural-policy .fnc-card-image::after,
li.category-agricultural-policy .fnc-card-image::after { content: "gavel"; }

.wp-block-post.category-education-events .fnc-card-image::after,
li.category-education-events .fnc-card-image::after { content: "school"; }

.wp-block-post.category-global-supply-chain .fnc-card-image::after,
li.category-global-supply-chain .fnc-card-image::after { content: "public"; }

.wp-block-post.category-climate-agriculture .fnc-card-image::after,
li.category-climate-agriculture .fnc-card-image::after { content: "eco"; }

/* Fallback for uncategorized or unknown categories */
.wp-block-post.category-uncategorized .fnc-card-image::after,
li.category-uncategorized .fnc-card-image::after { content: "spa"; }

/* ═══════════════════════════════════════════════════════════════
   L1 Page System  (Sub-Hero / Policy Briefs Bento / Trends / Quotes)
   ═══════════════════════════════════════════════════════════════ */

/* ── Sub-Hero ─────────────────────────────────────────────────── */
.fnc-l1-eyebrow {
    font-family: var(--fnc-font-en-label);
    color: var(--wp--preset--color--primary);
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin: 0 0 1rem 0 !important;
}
.fnc-l1-hero-headline {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: clamp(2.5rem, 5.5vw, 4.5rem) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.025em !important;
    color: var(--wp--preset--color--on-surface);
    margin: 0 !important;
}
.fnc-l1-hero-accent {
    color: var(--wp--preset--color--primary-container, #2e7d32);
}
.fnc-l1-hero-quote {
    font-style: italic !important;
    font-size: 1.0625rem !important;
    line-height: 1.65 !important;
    color: var(--wp--preset--color--on-surface-variant) !important;
    margin: 0 !important;
}
.fnc-hero-glass {
    color: #ffffff !important;
    font-weight: 500 !important;
    padding: 1.35rem 1.5rem !important;
    border-radius: 14px !important;
    background: rgba(14, 26, 20, 0.32) !important;
    backdrop-filter: blur(18px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 8px 32px rgba(13, 99, 27, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);
}
@supports not (backdrop-filter: blur(1px)) {
    .fnc-hero-glass {
        background: rgba(14, 26, 20, 0.68) !important;
    }
}
.fnc-l1-hero-image {
    aspect-ratio: 21 / 9;
    border-radius: 0.75rem;
    overflow: hidden;
    margin: 3rem 0 0 0 !important;
}
.fnc-l1-hero-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

/* ── Policy Briefs Bento ──────────────────────────────────────── */
.fnc-bento-feature {
    background: var(--wp--preset--color--surface-container-lowest, #ffffff);
    border-radius: 0.75rem;
    padding: 2.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 360px;
    height: 100%;
    border: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-bento-side {
    background: var(--wp--preset--color--surface-container-lowest, #ffffff);
    border-radius: 0.75rem;
    padding: 1.75rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100%;
    border: 1px solid var(--wp--preset--color--outline-variant);
    transition: transform .2s, box-shadow .2s;
}
.fnc-bento-side:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(13, 99, 27,.06);
}
.fnc-bento-side--accent {
    border-left: 4px solid var(--wp--preset--color--primary) !important;
}
.fnc-pill {
    display: inline-block;
    background: var(--wp--preset--color--primary-container);
    color: var(--wp--preset--color--on-primary-container);
    padding: 0.3rem 0.85rem;
    border-radius: 999px;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 1.25rem !important;
}
.fnc-bento-feature h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.6rem !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    margin: 0 0 1rem 0 !important;
}
.fnc-bento-side h4 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.125rem !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    margin: 0 0 0.75rem 0 !important;
}
.fnc-bento-feature p,
.fnc-bento-side p {
    color: var(--wp--preset--color--on-surface-variant) !important;
    margin: 0 0 1rem 0 !important;
    line-height: 1.6 !important;
}
.fnc-bento-feature p { font-size: 1.0625rem !important; }
.fnc-bento-side p {
    font-size: 0.875rem !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-bento-feature-footer {
    display: flex !important;
    align-items: center !important;
    gap: 1.25rem !important;
    flex-wrap: wrap;
}
.fnc-btn-tonal {
    background: var(--wp--preset--color--secondary-container);
    color: var(--wp--preset--color--on-secondary-container);
    padding: 0.75rem 1.25rem;
    border-radius: var(--fnc-radius-sm);
    font-family: var(--wp--preset--font-family--label);
    font-weight: 600;
    text-decoration: none;
    transition: background .15s;
}
.fnc-btn-tonal:hover {
    background: var(--wp--preset--color--secondary-fixed, #a2f2d8);
}
.fnc-feature-date {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.8rem;
    color: var(--wp--preset--color--outline);
}
.fnc-link-arrow {
    color: var(--wp--preset--color--primary);
    font-weight: 600;
    text-decoration: none;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.fnc-link-arrow:hover { text-decoration: underline; }

/* ── Trends with Sidebar ──────────────────────────────────────── */
.fnc-trends-sidebar {
    position: sticky;
    top: 100px;
}
.fnc-newsletter-card {
    background: var(--wp--preset--color--surface-container-high);
    padding: 2rem;
    border-radius: 0.75rem;
}
.fnc-newsletter-card label {
    display: block;
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
    font-size: 1.0625rem;
    margin-bottom: 1rem;
}
.fnc-newsletter-card input[type=email] {
    width: 100%;
    background: var(--wp--preset--color--surface);
    border: 1px solid var(--wp--preset--color--outline-variant);
    padding: 0.85rem 1rem;
    border-radius: var(--fnc-radius-sm);
    margin-bottom: 0.75rem;
    font-family: var(--wp--preset--font-family--body);
    font-size: 0.9375rem;
}
.fnc-newsletter-card input[type=email]:focus {
    outline: 2px solid var(--wp--preset--color--primary);
    outline-offset: 2px;
}
.fnc-newsletter-card button,
.fnc-newsletter-card .fnc-newsletter-cta {
    display: block;
    width: 100%;
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--on-primary) !important;
    border: 0;
    padding: 0.85rem 1rem;
    border-radius: var(--fnc-radius-sm);
    font-family: var(--wp--preset--font-family--label);
    font-weight: 600;
    font-size: 0.95rem;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.15s;
    box-sizing: border-box;
}
.fnc-newsletter-card .fnc-newsletter-cta:hover {
    background: var(--wp--preset--color--primary-container, #0a4e15);
}
.fnc-newsletter-note {
    font-size: 0.72rem;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0.75rem 0 0 0;
    line-height: 1.5;
}
.fnc-newsletter-note a {
    color: inherit;
    text-decoration: underline;
}
.fnc-newsletter-note a:hover {
    color: var(--wp--preset--color--primary);
}
.fnc-trend-item {
    display: flex !important;
    gap: 1.5rem !important;
    align-items: flex-start !important;
    padding: 1.75rem 0 !important;
    border-bottom: 1px solid var(--wp--preset--color--outline-variant);
    text-decoration: none !important;
    color: inherit !important;
    transition: opacity .15s ease;
}
.fnc-trend-item:last-child { border-bottom: 0; }
a.fnc-trend-item:hover { opacity: .75; }
a.fnc-trend-item:hover h3 { color: var(--wp--preset--color--primary); }
a.fnc-trend-item h3 { transition: color .15s ease; }
.fnc-trend-num {
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
    font-size: 3rem;
    line-height: 1;
    color: var(--wp--preset--color--surface-container-highest);
    flex-shrink: 0;
}
.fnc-trend-meta {
    display: flex;
    gap: 0.625rem;
    align-items: center;
    margin-bottom: 0.5rem;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
}
.fnc-trend-meta .country {
    color: var(--wp--preset--color--secondary);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.fnc-trend-meta .date {
    color: var(--wp--preset--color--outline);
}
.fnc-trend-item h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.375rem !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    margin: 0 0 0.75rem 0 !important;
}
.fnc-trend-item p {
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.65;
    margin: 0;
    font-size: 0.9375rem;
}

@media (max-width: 768px) {
    .fnc-l1-hero-image { aspect-ratio: 16 / 9; margin-top: 2rem !important; }
    .fnc-bento-feature, .fnc-bento-side { padding: 1.5rem !important; }
    .fnc-trend-num { font-size: 2.25rem; }
    .fnc-trend-item { gap: 1rem !important; padding: 1.25rem 0 !important; }
}

/* ═══════════════════════════════════════════════════════════════
   Education Events L1 — Event Cards / Edu Bento / Gallery Scroll
   ═══════════════════════════════════════════════════════════════ */

/* ── Event cards ──────────────────────────────────────────────── */
.fnc-event-card {
    background: var(--wp--preset--color--surface-container-lowest, #fff);
    padding: 2rem !important;
    border-radius: 1.25rem;
    height: 100%;
    border: 1px solid transparent;
    transition: all .2s;
    display: flex !important;
    flex-direction: column !important;
}
.fnc-event-card:hover {
    border-color: var(--wp--preset--color--outline-variant);
    box-shadow: 0 12px 28px rgba(13, 99, 27,.06);
    transform: translateY(-2px);
}
.fnc-event-card-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 1.75rem !important;
}
.fnc-event-pill {
    display: inline-block;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.fnc-event-pill--seminar { background: var(--wp--preset--color--secondary-container); color: var(--wp--preset--color--on-secondary-container); }
.fnc-event-pill--workshop { background: var(--wp--preset--color--primary-container); color: var(--wp--preset--color--on-primary-container); }
.fnc-event-pill--forum { background: #cce9e1; color: #324c46; }
.fnc-event-date {
    text-align: right;
    flex-shrink: 0;
}
.fnc-event-date strong {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 2.25rem;
    font-weight: 900;
    color: var(--wp--preset--color--primary);
    display: block;
    line-height: 1;
}
.fnc-event-date span {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    color: var(--wp--preset--color--on-surface-variant);
    display: block;
    margin-top: 0.35rem;
    letter-spacing: 0.06em;
}
.fnc-event-card h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.375rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 1rem 0 !important;
    transition: color .15s;
}
.fnc-event-card:hover h3 { color: var(--wp--preset--color--primary); }
.fnc-event-card p {
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.6;
    margin: 0 0 2rem 0 !important;
    font-size: 0.9375rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-event-meta {
    margin-top: auto !important;
    padding-top: 1rem !important;
    display: flex !important;
    gap: 1.25rem !important;
    align-items: center;
    flex-wrap: wrap;
    font-size: 0.85rem;
    font-family: var(--wp--preset--font-family--label);
    color: var(--wp--preset--color--on-surface-variant);
    border-top: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-event-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.fnc-event-meta .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 1rem;
    line-height: 1;
}

/* ── Education Programs Bento ─────────────────────────────────── */
.fnc-edu-bento {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: minmax(220px, 1fr) minmax(180px, 1fr);
    gap: 1.5rem !important;
    min-height: 600px;
}
.fnc-edu-cell {
    border-radius: 1.5rem;
    overflow: hidden;
    transition: transform .25s, box-shadow .25s;
}
.fnc-edu-cell:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(13, 99, 27,.07); }
.fnc-edu-cell--feature {
    grid-column: span 2;
    grid-row: span 2;
    background: var(--wp--preset--color--primary);
    color: #fff;
    padding: 2.5rem !important;
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
}
.fnc-edu-cell--feature::before {
    content: "";
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-image: var(--bg-image);
    opacity: 0.4;
    transition: transform .7s;
}
.fnc-edu-cell--feature:hover::before { transform: scale(1.05); }
.fnc-edu-cell--feature::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(13,99,27,.85), rgba(46,125,50,.5));
}
.fnc-edu-cell--feature > * { position: relative; z-index: 1; }
.fnc-edu-cell--feature h3 { color: #fff !important; font-family: var(--wp--preset--font-family--headline); font-size: 1.875rem !important; font-weight: 800 !important; margin: 0 0 1rem 0 !important; line-height: 1.2; }
.fnc-edu-cell--feature p { color: var(--fnc-accent-highlight) !important; margin: 0 0 1.75rem 0 !important; font-size: 1.0625rem !important; line-height: 1.6; max-width: 28rem; }
.fnc-edu-cell--feature .fnc-edu-btn {
    background: #fff;
    color: var(--wp--preset--color--primary);
    padding: 0.75rem 1.25rem;
    border-radius: 0.75rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: fit-content;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.9375rem;
}
.fnc-edu-cell--wide {
    grid-column: span 2;
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 1.75rem 2rem !important;
    display: flex !important;
    align-items: center !important;
    gap: 2rem !important;
    position: relative;
}
.fnc-edu-cell--wide::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--bg-image);
    background-size: cover;
    background-position: center;
    opacity: 0.28;
    border-radius: inherit;
    pointer-events: none;
}
.fnc-edu-cell--wide:hover { background: var(--wp--preset--color--secondary-fixed, #a2f2d8); }
.fnc-edu-cell--wide:hover::before { opacity: 0.35; }
.fnc-edu-cell--wide > div:first-child { flex: 1; }
.fnc-edu-cell--wide h3 { font-family: var(--wp--preset--font-family--headline); font-size: 1.375rem !important; font-weight: 700 !important; margin: 0 0 0.5rem 0 !important; }
.fnc-edu-cell--wide p { color: var(--wp--preset--color--on-surface-variant); font-size: 0.875rem !important; margin: 0 !important; line-height: 1.55; }
.fnc-edu-cell--wide .fnc-edu-iconbox {
    width: 88px; height: 88px;
    background: var(--wp--preset--color--secondary-container);
    border-radius: 1rem;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.fnc-edu-cell--wide .fnc-edu-iconbox .material-symbols-outlined { font-family: 'Material Symbols Outlined'; font-feature-settings: 'liga'; font-size: 36px; color: var(--wp--preset--color--on-secondary-container); }
.fnc-edu-cell--small {
    background: var(--wp--preset--color--surface-container-high);
    padding: 1.75rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    position: relative;
}
.fnc-edu-cell--small::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--bg-image);
    background-size: cover;
    background-position: center;
    opacity: 0.28;
    border-radius: inherit;
    pointer-events: none;
}
.fnc-edu-cell--small > * { position: relative; z-index: 1; }
.fnc-edu-cell--small:hover { background: var(--wp--preset--color--surface-container-highest); }
.fnc-edu-cell--small:hover::before { opacity: 0.35; }
.fnc-edu-cell--small .material-symbols-outlined { font-family: 'Material Symbols Outlined'; font-feature-settings: 'liga'; font-size: 28px; color: var(--wp--preset--color--primary); }
.fnc-edu-cell--small h3 { font-family: var(--wp--preset--font-family--headline); font-size: 1.125rem !important; font-weight: 700 !important; margin: 1.25rem 0 0.5rem 0 !important; }
.fnc-edu-cell--small p { color: var(--wp--preset--color--on-surface-variant); font-size: 0.8rem !important; margin: 0 !important; line-height: 1.5; }
/* --dark: pure black 은 L1 purple 테마와 따로 논다. Primer purple-7(#512a97) 기반,
   lightness ~38% 으로 "어두운 anchor" 느낌은 유지하면서 '검정'이 아닌 '짙은 퍼플'로 읽히게. */
.fnc-edu-cell--dark { background: #512a97; }
.fnc-edu-cell--dark .material-symbols-outlined { color: #d8b9ff; }
.fnc-edu-cell--dark h3 { color: #fff !important; }
/* YCL feature cell — 사진 배경 (/wp-content/uploads/2026/04/the-girl-on-the-flipc-2026-utc.jpg) */
.fnc-edu-cell--ycl.fnc-edu-cell--feature { background: #002a2a !important; }
.fnc-edu-cell--ycl.fnc-edu-cell--feature::before { background-image: url('/wp-content/uploads/2026/04/the-girl-on-the-flipc-2026-utc.jpg') !important; background-size: cover !important; background-position: center top !important; opacity: 0.45; }
.fnc-edu-cell--ycl.fnc-edu-cell--feature::after { background: linear-gradient(180deg, rgba(0,42,42,0.15) 0%, rgba(0,42,42,0.55) 50%, rgba(0,42,42,0.90) 100%) !important; }
/* 두 버튼 컨테이너 */
.fnc-edu-cell--ycl-btns { display: flex; flex-wrap: wrap; gap: 0.75rem; }
/* 보조 버튼 — body.has-l1-education-events 재정의(특이도 0,3,1)를 !important로 제압 */
.fnc-edu-cell--feature .fnc-edu-btn--secondary { background: rgba(255,255,255,0.14) !important; color: #ffffff !important; border: 2px solid rgba(255,255,255,0.72) !important; }
.fnc-edu-cell--feature .fnc-edu-btn--secondary:hover { background: rgba(255,255,255,0.24) !important; border-color: #fff !important; }
.fnc-edu-cell--dark p { color: rgba(255,255,255,.78) !important; }

/* ── Archive Gallery (horizontal scroll) ─────────────────────── */
.fnc-gallery-scroll {
    display: flex !important;
    gap: 1.5rem !important;
    overflow-x: auto !important;
    padding-bottom: 2rem !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    margin: 0 !important;
}
.fnc-gallery-scroll::-webkit-scrollbar { display: none; }
.fnc-gallery-item {
    min-width: 300px;
    flex-shrink: 0;
    scroll-snap-align: start;
}
@media (min-width: 768px) {
    .fnc-gallery-item { min-width: 440px; }
}
.fnc-gallery-image {
    aspect-ratio: 4 / 3;
    border-radius: 1.25rem;
    overflow: hidden;
    margin-bottom: 1.25rem;
    position: relative;
}
.fnc-gallery-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .5s;
    display: block;
}
.fnc-gallery-item:hover .fnc-gallery-image img { transform: scale(1.05); }
.fnc-gallery-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.55), transparent 50%);
    opacity: 0;
    transition: opacity .25s;
    display: flex;
    align-items: flex-end;
    padding: 1.5rem;
}
.fnc-gallery-item:hover .fnc-gallery-overlay { opacity: 1; }
.fnc-gallery-overlay span {
    color: #fff;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.85rem;
}
.fnc-gallery-item h4 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.125rem;
    font-weight: 700;
    margin: 0 0 0.25rem 0;
}
.fnc-gallery-item p {
    font-style: italic;
    font-size: 0.875rem;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
}

@media (max-width: 768px) {
    .fnc-edu-bento {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        min-height: auto;
    }
    .fnc-edu-cell--feature, .fnc-edu-cell--wide {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
    .fnc-edu-cell--feature { min-height: 380px; padding: 1.75rem !important; }
    .fnc-edu-cell--wide { padding: 1.5rem !important; gap: 1rem !important; }
    .fnc-edu-cell--wide .fnc-edu-iconbox { width: 64px; height: 64px; }
    .fnc-event-card { padding: 1.5rem !important; }
}

/* ═══════════════════════════════════════════════════════════════
   Donate / Support Page — Impact Cards / Checklist / Form / Reports
   ═══════════════════════════════════════════════════════════════ */

/* ── Impact cards (Why Support section) ──────────────────────── */
.fnc-impact-card {
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 2.5rem !important;
    border-radius: 0.75rem;
    height: 100%;
    transition: transform .3s, box-shadow .3s;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
.fnc-impact-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px rgba(13, 99, 27,.06);
}
.fnc-impact-icon {
    width: 56px;
    height: 56px;
    border-radius: var(--fnc-radius-md);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 1.75rem !important;
}
.fnc-impact-icon .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 28px;
}
.fnc-impact-icon--secondary { background: var(--wp--preset--color--secondary-container); }
.fnc-impact-icon--secondary .material-symbols-outlined { color: var(--wp--preset--color--on-secondary-container); }
.fnc-impact-icon--primary { background: var(--wp--preset--color--primary-container); }
.fnc-impact-icon--primary .material-symbols-outlined { color: var(--wp--preset--color--on-primary); }
.fnc-impact-icon--tertiary { background: var(--wp--preset--color--tertiary); }
.fnc-impact-icon--tertiary .material-symbols-outlined { color: var(--wp--preset--color--on-tertiary); }
.fnc-impact-card h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 0 1rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-impact-card p {
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
    color: var(--wp--preset--color--on-surface-variant);
    opacity: 0.85;
    margin: 0 !important;
}

/* ── Checklist (Donation methods left column) ────────────────── */
.fnc-checklist {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.fnc-checklist-item {
    display: flex !important;
    gap: 1.25rem !important;
    align-items: flex-start !important;
}
.fnc-checklist-item .check-icon {
    color: var(--wp--preset--color--primary-container);
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 1, 'wght' 400;
    font-size: 28px;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 0.125rem;
}
.fnc-checklist-item h4 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin: 0 0 0.5rem 0 !important;
}
.fnc-checklist-item p {
    color: var(--wp--preset--color--on-surface-variant);
    opacity: 0.85;
    margin: 0 !important;
    line-height: 1.6;
}

/* ── Donation form ───────────────────────────────────────────── */
.fnc-donate-form {
    background: var(--wp--preset--color--surface-container-low);
    padding: 2.5rem !important;
    border-radius: 1rem;
}
.fnc-donate-tabs {
    display: flex;
    gap: 0.5rem;
    padding: 0.25rem;
    background: var(--wp--preset--color--surface-container-high);
    border-radius: 0.75rem;
    margin-bottom: 2rem;
}
.fnc-donate-tab {
    flex: 1;
    padding: 0.75rem 1.25rem;
    border-radius: var(--fnc-radius-sm);
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
    font-size: 0.9375rem;
    text-align: center;
    cursor: pointer;
    border: 0;
    background: transparent;
    color: var(--wp--preset--color--on-surface-variant);
    transition: all .15s;
}
.fnc-donate-tab.is-active {
    background: var(--wp--preset--color--surface-container-lowest);
    color: var(--wp--preset--color--on-surface);
    box-shadow: 0 1px 3px rgba(13, 99, 27,.05);
}
.fnc-amount-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
}
.fnc-donate-submit {
    width: 100%;
    background: var(--wp--preset--color--primary-container);
    color: var(--wp--preset--color--on-primary);
    border: 0;
    padding: 1.125rem;
    border-radius: 0.75rem;
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 800;
    font-size: 1.125rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(13,99,27,.2);
    transition: transform .15s;
}
.fnc-donate-submit:hover { transform: scale(1.02); }
.fnc-donate-submit:active { transform: scale(0.98); }
.fnc-donate-note {
    text-align: center;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem;
    color: var(--wp--preset--color--on-surface-variant);
    opacity: 0.6;
    margin-top: 1rem !important;
}

/* ── Transparency section (dark bg) ──────────────────────────── */
.fnc-transparency-section {
    background: #1b1c1c !important;
    color: var(--wp--preset--color--surface) !important;
}
.fnc-transparency-section h2,
.fnc-transparency-section h3,
.fnc-transparency-section h4 {
    color: #ffffff !important;
}
.fnc-transparency-section p { color: rgba(255,255,255,.6); }
.fnc-transparency-section a { color: var(--wp--preset--color--secondary-fixed, #a2f2d8); }
.fnc-transparency-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    flex-wrap: wrap;
    gap: 2rem;
    padding-bottom: 3rem;
    margin-bottom: 3rem !important;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.fnc-report-image {
    aspect-ratio: 3 / 4;
    border-radius: 0.75rem;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(255,255,255,.08);
}
.fnc-report-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1);
    transition: filter .5s, transform .5s;
}
.fnc-report-card:hover .fnc-report-image img {
    filter: grayscale(0);
    transform: scale(1.03);
}
.fnc-report-image .gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.85), transparent 60%);
}
.fnc-report-meta {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
}
.fnc-report-meta span {
    display: block;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--wp--preset--color--secondary-fixed-dim, #87d6bd);
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
}
.fnc-report-meta strong {
    display: block;
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.0625rem;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.3;
}
.fnc-contact-card {
    padding: 2rem !important;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 0.75rem;
    background: rgba(255,255,255,.03);
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}
.fnc-contact-card h3 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 1rem 0 !important;
}
.fnc-contact-card p {
    font-size: 0.875rem;
    margin: 0 0 2rem 0 !important;
}
.fnc-contact-list { list-style: none; padding: 0; margin: 0; }
.fnc-contact-list li {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.9375rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #fff;
}
.fnc-contact-list .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    color: var(--wp--preset--color--secondary-fixed, #a2f2d8);
    font-size: 22px;
}

@media (max-width: 768px) {
    .fnc-impact-card { padding: 1.75rem !important; }
    .fnc-donate-form { padding: 1.75rem !important; }
    .fnc-amount-grid { grid-template-columns: repeat(2, 1fr); }
    .fnc-transparency-header { flex-direction: column; align-items: flex-start !important; }
}

/* ═══════════════════════════════════════════════════════════════
   Agricultural Energy L1 — Hero Stat / Tech Bento / Case Studies / Policy Link
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero glassy stat card (overlay on Cover) ────────────────── */
.fnc-hero-stat {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.18);
    padding: 1.75rem;
    border-radius: 0.875rem;
    color: #fff;
    max-width: 280px;
}
.fnc-hero-stat-icon {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 2.5rem;
    color: var(--fnc-accent-highlight);
    line-height: 1;
    display: inline-block;
}
.fnc-hero-stat-num {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 2.5rem;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    margin: 1rem 0 0.5rem 0;
    letter-spacing: -0.02em;
}
.fnc-hero-stat-label {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.8rem;
    color: rgba(255,255,255,0.78);
    line-height: 1.45;
    margin: 0;
}

/* ── Chart placeholder (임시 자리표시자) ─────────────────────── */
.fnc-chart-placeholder {
    background: #f3f4f6;
    padding: 1rem;
    border-left: 4px solid #16a34a;
    margin: 1.5rem 0;
    font-size: 0.9375rem;
    color: #374151;
}

/* ── Report Part Heading ──────────────────────────────────────── */
.fnc-part-heading {
    color: var(--wp--preset--color--primary) !important;
    border-left: 4px solid var(--wp--preset--color--primary);
    padding-left: 0.75rem;
}

/* ── Data Table ───────────────────────────────────────────────── */
figure.fnc-data-table {
    margin-top: 2rem;
}
figure.fnc-data-table.fnc-data-table--gap-lg {
    margin-top: 4.5rem;
}

/* ── Tech & Innovation Bento ─────────────────────────────────── */
.fnc-tech-bento {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
}
.fnc-tech-cell {
    padding: 2.5rem !important;
    border-radius: 0.875rem;
    overflow: hidden;
    transition: box-shadow .25s, transform .25s;
}
.fnc-tech-cell:hover { transform: translateY(-2px); }
.fnc-tech-pill {
    display: inline-block;
    background: var(--wp--preset--color--secondary-container);
    color: var(--wp--preset--color--on-secondary-container);
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.fnc-tech-img {
    border-radius: var(--fnc-radius-md);
    overflow: hidden;
    margin-top: 1.5rem;
}
.fnc-tech-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s;
    display: block;
}

/* Cell 1: feature (col-span-2) */
.fnc-tech-cell--feature {
    grid-column: span 2;
    padding: 1.25rem 2rem !important;
    background: var(--wp--preset--color--surface-container-lowest);
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}
.fnc-tech-cell--feature:hover { box-shadow: 0 14px 32px rgba(13, 99, 27,.07); }
.fnc-tech-cell--feature:hover .fnc-tech-img img { transform: scale(1.05); }
.fnc-tech-cell--feature .head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 2.5rem !important;
}
.fnc-tech-cell--feature .head .icon {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 2rem;
    color: var(--wp--preset--color--outline-variant);
}
.fnc-tech-cell--feature h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.875rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    margin: 0 0 1rem 0 !important;
}
.fnc-tech-cell--feature p {
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.65;
    max-width: 32rem;
    margin: 0 0 2rem 0 !important;
}
.fnc-tech-cell--feature .fnc-tech-img { height: 6rem; margin-top: 0; }

/* Cell 2: accent (1-col) — green primary */
.fnc-tech-cell--accent {
    background: var(--wp--preset--color--primary);
    color: #fff;
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}
.fnc-tech-cell--accent .icon-lg {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 2.25rem;
    margin-bottom: 1.5rem;
    display: block;
}
.fnc-tech-cell--accent h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin: 0 0 1rem 0 !important;
}
.fnc-tech-cell--accent p {
    color: rgba(255,255,255,0.85) !important;
    line-height: 1.6;
    margin: 0 0 1.5rem 0 !important;
    font-size: 0.9375rem;
}
.fnc-tech-cell--accent .btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    width: fit-content;
    border: 1px solid rgba(255,255,255,0.35);
    padding: 0.55rem 1.25rem;
    font-family: var(--wp--preset--font-family--label);
    font-weight: 700;
    font-size: 0.85rem;
    text-decoration: none;
    color: inherit;
    transition: all .15s;
    border-radius: var(--fnc-radius-sm);
}
.fnc-tech-cell--accent .btn:hover {
    background: #fff;
    color: var(--wp--preset--color--primary);
    border-color: #fff;
}
.fnc-tech-cell--accent .deco {
    position: absolute;
    right: -1.25rem;
    bottom: -1.25rem;
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 200px;
    opacity: 0.1;
    pointer-events: none;
    color: #fff;
    line-height: 1;
}

/* Cell 3: photo card (1-col) */
.fnc-tech-cell--photo {
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 1.75rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important;
}
.fnc-tech-cell--photo:hover { box-shadow: 0 12px 28px rgba(13, 99, 27,.06); }
.fnc-tech-cell--photo .fnc-tech-img { height: 12rem; margin-top: 0; }
.fnc-tech-cell--photo:hover .fnc-tech-img img { transform: rotate(0.5deg) scale(1.02); }
.fnc-tech-cell--photo h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin: 0 0 0.5rem 0 !important;
}
.fnc-tech-cell--photo p {
    font-size: 0.875rem !important;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.55;
    margin: 0 !important;
}

/* Cell 4: horizontal (col-span-2) / --half 는 span 1 */
.fnc-tech-cell--half {
    grid-column: span 1;
    background: var(--wp--preset--color--surface-container-high);
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    text-decoration: none !important;
    color: inherit !important;
}
.fnc-tech-cell--half h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    margin: 0.5rem 0 0.75rem 0 !important;
    line-height: 1.35 !important;
    color: var(--wp--preset--color--on-surface) !important;
}
.fnc-tech-cell--half p {
    font-size: 0.875rem !important;
    color: var(--wp--preset--color--on-surface-variant) !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}
.fnc-tech-cell--half:hover { box-shadow: 0 10px 24px rgba(13,99,27,.07); }

/* Cell 4: horizontal (col-span-2) */
.fnc-tech-cell--horizontal {
    grid-column: span 2;
    background: var(--wp--preset--color--surface-container-high);
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 2.5rem !important;
}
.fnc-tech-cell--horizontal > div:first-child { flex: 1; }
.fnc-tech-cell--horizontal h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 0 1rem 0 !important;
}
.fnc-tech-cell--horizontal p {
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.6;
    margin: 0 !important;
    font-size: 0.95rem;
}
.fnc-tech-icon-circle {
    width: 8rem;
    height: 8rem;
    border: 4px solid rgba(13,99,27,0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.fnc-tech-icon-circle .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 2.5rem;
    color: var(--wp--preset--color--primary);
}

/* ── Case Studies (sticky sidebar + content stack) ───────────── */
.fnc-case-sidebar {
    position: sticky;
    top: 100px;
}
.fnc-case-num-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.fnc-case-num-list li {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    margin: 0 0 1rem 0 !important;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.875rem;
    color: var(--wp--preset--color--on-surface);
}
.fnc-case-num-list .num {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: var(--wp--preset--color--surface-container-high);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.7rem;
    flex-shrink: 0;
}
/* 컴팩트 가로형 — 이미지 좌측 작게 + 텍스트 우측 */
.fnc-case-item {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 0;
    margin-bottom: 1rem;
    background: #fff;
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 0.75rem;
    overflow: hidden;
    transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.fnc-case-item:last-child { margin-bottom: 0; }
.fnc-case-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
    border-color: var(--wp--preset--color--primary);
}
@media (max-width: 600px) {
    .fnc-case-item { grid-template-columns: 110px 1fr; }
}
.fnc-case-image {
    aspect-ratio: auto;
    margin: 0;
    border-radius: 0;
    overflow: hidden;
    height: 100%;
    min-height: 130px;
}
.fnc-case-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
    display: block;
}
.fnc-case-item:hover .fnc-case-image img { transform: scale(1.04); }
.fnc-case-body {
    padding: 0.875rem 1.125rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    min-width: 0;
}
.fnc-case-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    margin-bottom: 0.25rem;
    flex-wrap: wrap;
}
.fnc-case-meta h3 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.35;
    word-break: keep-all;
}
.fnc-case-meta .tag {
    color: var(--wp--preset--color--primary);
    font-family: var(--wp--preset--font-family--label);
    font-weight: 700;
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.fnc-case-item p {
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.55;
    font-size: 0.85rem;
    margin: 0 0 0.5rem 0;
    word-break: keep-all;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-case-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-family: var(--wp--preset--font-family--label);
    font-weight: 700;
    font-size: 0.8rem;
    border-bottom: none;
    padding-bottom: 0;
    text-decoration: none;
    color: var(--wp--preset--color--primary);
    margin-top: auto;
}
.fnc-case-link:hover { text-decoration: underline; }

/* ── Policy Link Section (dark bg with stat tiles) ───────────── */
.fnc-policy-link-section {
    background: #1b1c1c !important;
    color: #fff !important;
    position: relative;
    overflow: hidden;
}
.fnc-policy-link-section h2,
.fnc-policy-link-section h4 { color: #fff !important; }
.fnc-policy-link-section p { color: rgba(255,255,255,.55); }
.fnc-policy-link-section .deco-blob {
    position: absolute;
    top: -16rem;
    right: -16rem;
    width: 32rem;
    height: 32rem;
    background: rgba(13,99,27,0.25);
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
    z-index: 0;
}
.fnc-policy-link-content {
    position: relative;
    z-index: 1;
}
.fnc-policy-tiles {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1rem !important;
}
.fnc-policy-tiles > .col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.fnc-policy-tiles > .col + .col { padding-top: 2rem; }
.fnc-policy-tile {
    background: rgba(255,255,255,0.05);
    backdrop-filter: blur(8px);
    padding: 1.5rem;
    border-radius: var(--fnc-radius-md);
    border: 1px solid rgba(255,255,255,0.06);
}
.fnc-policy-tile h4 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0 0 0.5rem 0 !important;
}
.fnc-policy-tile p {
    font-size: 0.75rem !important;
    color: rgba(255,255,255,.45) !important;
    margin: 0 !important;
    line-height: 1.45;
}

@media (max-width: 768px) {
    .fnc-tech-bento {
        grid-template-columns: 1fr !important;
    }
    .fnc-tech-cell--feature, .fnc-tech-cell--horizontal {
        grid-column: span 1 !important;
    }
    .fnc-tech-cell { padding: 1.75rem !important; }
    .fnc-tech-cell--horizontal {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 1.5rem !important;
    }
    .fnc-tech-icon-circle { width: 5rem; height: 5rem; }
    .fnc-policy-tiles > .col + .col { padding-top: 0; }
    .fnc-case-sidebar { position: static; }
    .fnc-hero-stat { max-width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════
   Food Security L1 — Metric Cards / Archive Filters / Featured Analysis
   ═══════════════════════════════════════════════════════════════ */

/* ── Key Metric cards ────────────────────────────────────────── */
.fnc-metric-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
}
.fnc-metric-card {
    background: var(--wp--preset--color--surface-container-lowest, #fff);
    padding: 2rem !important;
    border-radius: 0.875rem;
    height: 16rem;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    border: 1px solid rgba(191, 202, 186, 0.25);
}
.fnc-metric-card--wide { grid-column: span 2; }
.fnc-metric-card--accent {
    background: var(--wp--preset--color--primary) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 20px 40px -12px rgba(46, 125, 50, 0.25);
}
.fnc-metric-card--accent h3 { color: #fff !important; }
.fnc-metric-card--accent .fnc-metric-label { color: rgba(255,255,255,0.6) !important; }
.fnc-metric-card--accent .fnc-metric-num { color: #fff !important; }
.fnc-metric-card--accent .fnc-metric-trend { color: var(--wp--preset--color--on-primary-container, var(--fnc-accent-highlight)); }
.fnc-metric-label {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--wp--preset--color--secondary);
    margin: 0 0 0.5rem 0 !important;
    display: block;
}
.fnc-metric-card h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.1875rem !important;
    font-weight: 600 !important;
    margin: 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-metric-num-row {
    display: flex;
    align-items: baseline;
    gap: 0.625rem;
    flex-wrap: wrap;
}
.fnc-metric-num {
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 900;
    letter-spacing: -0.03em;
    color: var(--wp--preset--color--primary);
    line-height: 1;
}
.fnc-metric-num--xl { font-size: 3.75rem; }
.fnc-metric-num--lg { font-size: 3rem; color: var(--wp--preset--color--on-surface); }
.fnc-metric-trend {
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.fnc-metric-trend--down { color: var(--wp--preset--color--error); }
.fnc-metric-trend--up { color: var(--wp--preset--color--primary); }
.fnc-metric-trend .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 1rem;
}

/* Updated badge in header row */
.fnc-updated-badge {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    color: var(--wp--preset--color--outline);
    background: var(--wp--preset--color--surface);
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(191, 202, 186, 0.3);
    letter-spacing: 0.06em;
}

/* ── 다양한 계기판 (metric card 확장) ────────────────────────── */
/* Body 영역 (차트/그래픽이 들어가는 중앙 공간) */
.fnc-metric-body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.5rem 0;
}

/* Horizontal progress bars (자급률 비교) */
.fnc-progress-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    width: 100%;
}
.fnc-progress-row {
    display: grid;
    grid-template-columns: 3rem 1fr 3rem;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--wp--preset--font-family--headline);
    font-size: 0.875rem;
}
.fnc-progress-row .fnc-progress-label {
    font-weight: 600;
    color: var(--wp--preset--color--on-surface);
}
.fnc-progress-row .fnc-progress-track {
    position: relative;
    height: 0.5rem;
    background: rgba(191, 202, 186, 0.25);
    border-radius: 999px;
    overflow: hidden;
}
.fnc-progress-row .fnc-progress-fill {
    position: absolute;
    top: 0; left: 0; bottom: 0;
    background: var(--wp--preset--color--primary);
    border-radius: 999px;
}
.fnc-progress-row .fnc-progress-fill--low { background: #d97706; }
.fnc-progress-row .fnc-progress-fill--crit { background: #e11d48; }
.fnc-progress-row .fnc-progress-value {
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    text-align: right;
    font-variant-numeric: tabular-nums;
}

/* Sparkline SVG */
.fnc-spark {
    width: 100%;
    height: 3.5rem;
    display: block;
}
.fnc-spark polyline { fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.fnc-spark polygon { opacity: 0.15; }

/* Radial / semicircle gauge */
.fnc-gauge {
    width: 9rem;
    max-width: 100%;
    display: block;
    margin: 0 auto;
}
.fnc-gauge-track { fill: none; stroke: rgba(191, 202, 186, 0.3); stroke-width: 9; }
.fnc-gauge-fill { fill: none; stroke-width: 9; stroke-linecap: round; }
.fnc-gauge-fill--crit { stroke: #e11d48; }
.fnc-gauge-center {
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 900;
    font-size: 0.9rem;
    fill: var(--wp--preset--color--on-surface);
    text-anchor: middle;
}

/* Donut chart */
.fnc-donut {
    width: 6.5rem;
    height: 6.5rem;
    display: block;
}
.fnc-donut-track { fill: transparent; stroke: rgba(191, 202, 186, 0.3); stroke-width: 4; }
.fnc-donut-fill { fill: transparent; stroke-width: 4; stroke-linecap: butt; transform: rotate(-90deg); transform-origin: 50% 50%; }
.fnc-donut-fill--crit { stroke: #e11d48; }

/* Donut row (donut + legend side by side) */
.fnc-donut-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
}
.fnc-donut-row .fnc-donut-legend {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-family: var(--wp--preset--font-family--headline);
    font-size: 0.8rem;
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-donut-row .fnc-donut-legend strong {
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--wp--preset--color--on-surface);
    letter-spacing: -0.02em;
    line-height: 1;
    display: block;
    margin-bottom: 0.1rem;
}

/* References footer (inline · full-width flowing text) */
.fnc-metric-refs {
    grid-column: 1 / -1;
    margin-top: 0.75rem;
    padding-top: 0.6rem;
    border-top: 1px solid rgba(191, 202, 186, 0.25);
    font-family: var(--wp--preset--font-family--headline);
    font-size: 0.68rem;
    line-height: 1.5;
    color: var(--wp--preset--color--outline);
    word-break: keep-all;
}
.fnc-metric-refs strong {
    font-weight: 700;
    color: var(--wp--preset--color--on-surface-variant);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.65rem;
    margin-right: 0.5rem;
}
.fnc-metric-refs .fnc-ref-item { margin-right: 0.15rem; }
.fnc-metric-refs .fnc-ref-item + .fnc-ref-item::before {
    content: ' · ';
    color: rgba(191, 202, 186, 0.6);
    margin: 0 0.35rem;
}
.fnc-metric-refs .fnc-ref-num {
    font-weight: 700;
    color: var(--wp--preset--color--on-surface-variant);
    margin-right: 0.2rem;
}

@media (max-width: 768px) {
    .fnc-progress-row { grid-template-columns: 2.5rem 1fr 3rem; }
    .fnc-gauge { width: 8rem; }
    .fnc-metric-refs { font-size: 0.65rem; }
}

/* ── Research Archive ────────────────────────────────────────── */
.fnc-archive-filters {
    display: flex !important;
    gap: 0.5rem !important;
    flex-wrap: wrap;
}
.fnc-filter-pill {
    display: inline-block;
    padding: 0.55rem 1.25rem;
    border-radius: 999px;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wp--preset--color--on-surface-variant);
    background: transparent;
    border: 0;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.fnc-filter-pill:hover {
    background: var(--wp--preset--color--surface-container-low);
    color: var(--wp--preset--color--on-surface);
}
.fnc-filter-pill.is-active {
    /* Editorial "highlighter" 패턴 — DESIGN.md §5 Editorial Chips.
       KIFC 라임 액센트(var(--fnc-accent-highlight))로 활성 칩에 고에너지 하이라이트. */
    background: var(--fnc-accent-highlight);
    color: var(--fnc-accent-fg-strong);
    font-weight: 700;
}

.fnc-archive-card {
    text-decoration: none;
    color: inherit;
    display: block;
    cursor: pointer;
}
.fnc-archive-image {
    aspect-ratio: 3 / 4;
    border-radius: var(--fnc-radius-sm);
    overflow: hidden;
    position: relative;
    background: var(--wp--preset--color--surface-container-high);
    margin-bottom: 1.5rem;
}
.fnc-archive-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}
.fnc-archive-card:hover .fnc-archive-image img {
    transform: scale(1.03);
}
.fnc-archive-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--wp--preset--color--primary);
    opacity: 0;
    transition: opacity .3s;
}
.fnc-archive-card:hover .fnc-archive-image::after { opacity: 0.08; }
.fnc-archive-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 0.5rem !important;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
}
.fnc-archive-meta .vol {
    color: var(--wp--preset--color--primary);
    font-weight: 700;
    letter-spacing: 0.1em;
}
.fnc-archive-meta .size { color: var(--wp--preset--color--outline); }
.fnc-archive-card h4 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.0625rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 0 1rem 0 !important;
    color: var(--wp--preset--color--on-surface);
    transition: color .15s;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-archive-card:hover h4 { color: var(--wp--preset--color--primary); }

/* ── Featured Analysis (border-top + 4/8 split) ──────────────── */
.fnc-featured-section {
    border-top: 2px solid var(--wp--preset--color--primary);
    padding-top: 3rem !important;
}
.fnc-featured-pill {
    display: inline-block;
    background: var(--wp--preset--color--secondary-container);
    color: var(--wp--preset--color--on-secondary-container);
    padding: 0.3rem 0.85rem;
    border-radius: 0.25rem;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 1.5rem !important;
}
.fnc-featured-author {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    margin-bottom: 2rem !important;
}
.fnc-featured-avatar {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.8);
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 22px;
}
.fnc-featured-avatar img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.fnc-featured-author-meta strong {
    display: block;
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    font-size: 1rem;
}
.fnc-featured-author-meta span {
    display: block;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem;
    color: var(--wp--preset--color--on-surface-variant);
    margin-top: 0.15rem;
}
.fnc-featured-image-large {
    height: 600px;
    border-radius: 1rem;
    overflow: hidden;
    position: relative;
    box-shadow: 0 25px 50px -12px rgba(13, 99, 27,0.18);
}
.fnc-featured-image-large img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fnc-featured-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.55), transparent 55%);
    display: flex;
    align-items: flex-end;
    padding: 3rem;
}
.fnc-featured-image-overlay p {
    color: #fff !important;
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.25rem;
    font-weight: 300;
    font-style: italic;
    max-width: 32rem;
    line-height: 1.55;
    margin: 0 !important;
}

@media (max-width: 768px) {
    .fnc-metric-grid { grid-template-columns: 1fr !important; }
    .fnc-metric-card--wide { grid-column: span 1; }
    .fnc-metric-card { height: auto !important; min-height: 13rem; padding: 1.5rem !important; }
    .fnc-metric-num--xl { font-size: 2.75rem; }
    .fnc-featured-image-large { height: 400px; }
    .fnc-featured-image-overlay { padding: 1.75rem; }
    .fnc-featured-image-overlay p { font-size: 1rem; }
    .fnc-archive-filters { gap: 0.25rem !important; }
    .fnc-filter-pill { padding: 0.45rem 0.875rem; font-size: 0.78rem; }
}

/* ═══════════════════════════════════════════════════════════════
   About Page — Vision/Mission, Greetings, Timeline, Team, CTA
   사진은 placeholder(그라디언트 + 아이콘)로, 추후 이미지 교체 가능
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero (gradient overlay style — no actual image) ─────────── */
.fnc-about-hero {
    background:
        radial-gradient(circle at 18% 28%, rgba(163, 246, 156, 0.18), transparent 45%),
        radial-gradient(circle at 82% 78%, rgba(159, 239, 213, 0.15), transparent 45%),
        linear-gradient(135deg, var(--fnc-accent-fg-strong) 0%, var(--fnc-accent-fg) 60%, #0e1a14 100%);
    color: #fff !important;
    position: relative;
    overflow: hidden;
}
.fnc-about-hero::after {
    content: "spa";
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 0, 'wght' 200;
    position: absolute;
    right: -3rem;
    bottom: -4rem;
    font-size: 22rem;
    color: rgba(255, 255, 255, 0.06);
    line-height: 1;
    pointer-events: none;
}
.fnc-about-hero .fnc-l1-eyebrow,
.fnc-about-hero .fnc-l1-hero-headline,
.fnc-about-hero p { position: relative; z-index: 1; }

/* ── fnc-about-hero 색상 변형 ─────────────────────────────── */
.fnc-about-hero--policy {
    background:
        radial-gradient(circle at 18% 28%, rgba(196, 168, 245, 0.15), transparent 45%),
        radial-gradient(circle at 82% 78%, rgba(140, 100, 220, 0.12), transparent 45%),
        linear-gradient(135deg, #2a1a4e 0%, #3d2870 60%, #1e1038 100%);
}
.fnc-about-hero--policy::after { content: "policy"; }

/* ── Photo placeholder (used for portraits / images) ─────────── */
.fnc-photo-placeholder {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 0.75rem;
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,0.18), transparent 50%),
        linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.fnc-photo-placeholder--portrait { aspect-ratio: 4 / 5; }
.fnc-photo-placeholder--landscape { aspect-ratio: 16 / 9; }
.fnc-photo-placeholder .icon {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 0, 'wght' 200;
    font-size: 5rem;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1;
}
/* Variant gradients for visual rhythm */
.fnc-photo-placeholder--alt {
    background:
        radial-gradient(circle at 70% 30%, rgba(255,255,255,0.18), transparent 50%),
        linear-gradient(135deg, var(--wp--preset--color--secondary), var(--wp--preset--color--tertiary));
}
.fnc-photo-placeholder--alt2 {
    background:
        radial-gradient(circle at 50% 80%, rgba(255,255,255,0.18), transparent 50%),
        linear-gradient(135deg, var(--wp--preset--color--tertiary), var(--wp--preset--color--primary-container));
}
.fnc-photo-placeholder--alt3 {
    background:
        radial-gradient(circle at 20% 70%, rgba(255,255,255,0.18), transparent 50%),
        linear-gradient(135deg, var(--wp--preset--color--primary-container), var(--wp--preset--color--secondary));
}

/* ── Vision & Mission ────────────────────────────────────────── */
.fnc-vm-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    margin-bottom: 1rem;
}
.fnc-vm-icon--vision { background: var(--wp--preset--color--primary-container); color: var(--wp--preset--color--on-primary-container); }
.fnc-vm-icon--mission { background: var(--wp--preset--color--secondary-container); color: var(--wp--preset--color--on-secondary-container); }
.fnc-vm-icon .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 24px;
}
.fnc-vm-quote {
    border-left: 2px solid var(--wp--preset--color--primary-container);
    padding: 0.25rem 0 0.25rem 1.5rem;
    font-style: italic;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.65;
}
.fnc-vm-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.fnc-vm-list li {
    display: flex !important;
    gap: 0.875rem !important;
    align-items: flex-start !important;
    color: var(--wp--preset--color--on-surface-variant);
    font-size: 1.0625rem;
    line-height: 1.6;
    margin: 0 0 1rem 0 !important;
}
.fnc-vm-list .num {
    color: var(--wp--preset--color--primary);
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
    flex-shrink: 0;
    line-height: 1.65;
}

/* ── Greetings (director portrait placeholder + text) ────────── */
.fnc-greetings-portrait {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 0.875rem;
}
.fnc-greetings-portrait .name-tag {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    background: var(--wp--preset--color--primary);
    color: #fff;
    padding: 1rem 1.25rem;
    border-radius: var(--fnc-radius-sm);
}
.fnc-greetings-portrait .name-tag strong {
    display: block;
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.2;
}
.fnc-greetings-portrait .name-tag span {
    display: block;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.8;
    margin-top: 0.25rem;
}

/* ── Timeline (vertical center line) ─────────────────────────── */
.fnc-timeline {
    position: relative;
}
.fnc-timeline::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(191,202,186,0.3);
}
.fnc-timeline-item {
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0;
    margin: 0 0 6rem 0;
}
.fnc-timeline-item:last-child { margin-bottom: 0; }
.fnc-timeline-year {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 4rem;
    font-weight: 800;
    color: var(--wp--preset--color--surface-container-highest);
    transition: color .3s;
    line-height: 1;
}
.fnc-timeline-item:hover .fnc-timeline-year { color: var(--wp--preset--color--primary-container); }
.fnc-timeline-dot {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: var(--wp--preset--color--primary);
    border: 4px solid var(--wp--preset--color--surface-container-low);
    box-shadow: 0 0 0 4px rgba(13,99,27,0.1);
    z-index: 1;
    flex-shrink: 0;
    margin: 0 1.5rem;
}
.fnc-timeline-card {
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 2rem;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px rgba(13, 99, 27,0.04);
}
.fnc-timeline-card h4 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin: 0 0 0.75rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-timeline-card p {
    color: var(--wp--preset--color--on-surface-variant);
    font-size: 0.875rem !important;
    line-height: 1.65;
    margin: 0 !important;
}
.fnc-timeline-item--left .fnc-timeline-year { text-align: right; }
.fnc-timeline-item--right .fnc-timeline-year { text-align: left; order: 3; }
.fnc-timeline-item--right .fnc-timeline-card { order: 1; }
.fnc-timeline-mobile-year {
    display: none;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    margin-bottom: 0.5rem;
}

/* ── Team grid ──────────────────────────────────────────────── */
.fnc-team-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem !important;
}
.fnc-team-card {
    background: var(--wp--preset--color--surface-container-lowest);
    border-radius: 0.875rem;
    overflow: hidden;
    cursor: pointer;
    transition: transform .25s, box-shadow .25s;
}
.fnc-team-card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(13, 99, 27,.06); }
.fnc-team-card .fnc-photo-placeholder { border-radius: 0; }
.fnc-team-card-body { padding: 1.5rem; }
.fnc-team-card-role {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    color: var(--wp--preset--color--primary);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.fnc-team-card h5 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    margin: 0.35rem 0 0.5rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-team-card-expertise {
    color: var(--wp--preset--color--on-surface-variant);
    font-size: 0.875rem !important;
    line-height: 1.5;
    margin: 0 !important;
}

/* ── CTA gradient block ─────────────────────────────────────── */
.fnc-cta-block {
    background:
        radial-gradient(circle at 25% 30%, rgba(255,255,255,0.18), transparent 50%),
        radial-gradient(circle at 75% 70%, rgba(255,255,255,0.10), transparent 50%),
        linear-gradient(135deg, var(--wp--preset--color--primary-container), var(--wp--preset--color--primary));
    color: var(--wp--preset--color--on-primary-container, var(--fnc-accent-highlight)) !important;
    padding: 4.5rem 3rem !important;
    border-radius: 1.25rem !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}
.fnc-cta-block::after {
    content: "agriculture";
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 0, 'wght' 200;
    position: absolute;
    right: -2rem;
    bottom: -3rem;
    font-size: 16rem;
    color: rgba(255,255,255,0.07);
    pointer-events: none;
    line-height: 1;
}
.fnc-cta-block h2 {
    color: #fff !important;
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: clamp(1.875rem, 4vw, 3rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 1.25rem 0 !important;
    position: relative;
    z-index: 1;
}
.fnc-cta-block p {
    color: rgba(255,255,255,0.85) !important;
    font-size: 1.125rem !important;
    max-width: 36rem;
    margin: 0 auto 2.5rem auto !important;
    line-height: 1.65;
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {
    .fnc-team-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem !important; }
    .fnc-timeline::before { left: 1rem; }
    .fnc-timeline-item {
        grid-template-columns: auto 1fr !important;
        gap: 1rem;
        margin-bottom: 3rem;
    }
    .fnc-timeline-year { display: none; }
    .fnc-timeline-mobile-year { display: block; }
    .fnc-timeline-dot { margin: 0; }
    .fnc-timeline-item--right .fnc-timeline-card { order: initial; }
    .fnc-greetings-portrait { aspect-ratio: 1 / 1; }
    .fnc-cta-block { padding: 3rem 1.75rem !important; }
}

/* ── Article footer CTA (표준 박스) ──────────────────────────
   Post 본문 맨 아래에 삽입되는 표준 CTA. 버튼 3개 (뉴스레터·후원·문의).
   .fnc-cta-block 그라디언트 배경 + radial glow + "agriculture" 데코를 재사용.
*/
/* 아티클 본문 내 심플 CTA (박스 없음) */
.fnc-article-cta {
    margin: 0 0 2rem;
}
.fnc-article-cta-divider {
    border: none !important;
    border-top: 2.5px solid var(--wp--preset--color--on-surface) !important;
    margin: 3rem 0 2rem !important;
}
.fnc-article-cta .fnc-cta-actions {
    justify-content: flex-start;
}
.fnc-cta-btn--article {
    background: transparent;
    color: var(--wp--preset--color--on-surface) !important;
    border: 1.5px solid var(--wp--preset--color--outline-variant);
    font-size: 0.875rem !important;
}
.fnc-cta-btn--article:hover {
    background: var(--wp--preset--color--surface-container-low);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--primary) !important;
    box-shadow: none;
    transform: none;
}

.fnc-cta-block--article {
    padding: 3rem 2rem !important;
    margin: 3rem 0 2rem 0;
}
.fnc-cta-block--article h2 {
    font-size: clamp(1.5rem, 3vw, 2.125rem) !important;
    margin-bottom: 0.75rem !important;
}
.fnc-cta-block--article p {
    font-size: 1rem !important;
    max-width: 32rem;
    margin: 0 auto 2rem auto !important;
}
.fnc-cta-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    position: relative;
    z-index: 1;
}
.fnc-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    border-radius: 0.625rem;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: transform .12s, box-shadow .12s, background-color .15s;
    white-space: nowrap;
}
.fnc-cta-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(13, 99, 27,0.18);
}
.fnc-cta-btn--primary {
    background: #ffffff;
    color: var(--wp--preset--color--primary) !important;
}
.fnc-cta-btn--primary:hover {
    background: #f8f4eb;
    color: var(--wp--preset--color--primary) !important;
}
.fnc-cta-btn--ghost {
    background: rgba(255,255,255,0.12);
    color: #ffffff !important;
    border: 1.5px solid rgba(255,255,255,0.45);
}
.fnc-cta-btn--ghost:hover {
    background: rgba(255,255,255,0.22);
    border-color: rgba(255,255,255,0.7);
}
.fnc-cta-btn .material-symbols-outlined {
    font-size: 20px;
    font-variation-settings: 'FILL' 0, 'wght' 500;
}
.fnc-cta-btn--soft {
    background: rgba(13,99,27,.08);
    color: var(--wp--preset--color--primary) !important;
    border: 1.5px solid rgba(13,99,27,.22);
    padding: .625rem 1.125rem;
    margin-top: .75rem;
}
.fnc-cta-btn--soft:hover {
    background: rgba(13,99,27,.14);
    border-color: rgba(13,99,27,.4);
    box-shadow: none;
}

@media (max-width: 640px) {
    .fnc-cta-actions { flex-direction: column; align-items: stretch; }
    .fnc-cta-btn { justify-content: center; }
    .fnc-cta-block--article { padding: 2.5rem 1.5rem !important; }
}

/* ── Article Digest — 시리즈 요약 카드 ──────────────────────── */
.fnc-article-digest {
    background: var(--wp--preset--color--surface-container-low);
    border-left: 4px solid var(--wp--preset--color--primary);
    border-radius: 0 12px 12px 0;
    padding: 1.75rem 1.75rem 1.5rem;
}
.fnc-article-digest__label {
    display: inline-block;
    background: var(--wp--preset--color--primary);
    color: #fff;
    font-family: var(--wp--preset--font-family--label);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .08em;
    padding: .2rem .6rem;
    border-radius: 4px;
    margin-bottom: 1rem;
}
.fnc-article-digest__intro {
    font-size: 1.0625rem;
    line-height: 1.8;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 1.5rem;
    word-break: keep-all;
}
.fnc-article-digest__section { margin: 2rem 0; }
.fnc-article-digest__section-title {
    font-family: var(--wp--preset--font-family--label) !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: var(--wp--preset--color--primary) !important;
    margin: 0 0 .75rem !important;
}
.fnc-article-digest__section ul { margin: 0; padding-left: 1.25rem; }
.fnc-article-digest__section li {
    font-size: 1rem;
    line-height: 1.8;
    margin: .75rem 0;
    color: var(--wp--preset--color--on-surface-variant);
    word-break: keep-all;
}
.fnc-article-digest__compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: .75rem 0 1rem;
}
.fnc-article-digest__compare--3col { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 640px) {
    .fnc-article-digest__compare,
    .fnc-article-digest__compare--3col { grid-template-columns: 1fr; }
}
.fnc-article-digest__compare-col {
    background: var(--wp--preset--color--surface-container);
    border-radius: 8px;
    padding: 1rem 1.125rem;
    border: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-article-digest__compare-col h4 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    margin: 0 0 .5rem !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-article-digest__compare-col ul { margin: 0; padding-left: 1.125rem; }
.fnc-article-digest__compare-col li {
    font-size: .875rem;
    line-height: 1.6;
    color: var(--wp--preset--color--on-surface-variant);
    margin: .3rem 0;
}
.fnc-article-digest__compare-col--warn { border-color: var(--wp--preset--color--error); }
.fnc-article-digest__compare-col--warn h4 { color: var(--wp--preset--color--error) !important; }

/* ── Supervising Authority card (공익법인 주무관청 표시) ──────
   About·Disclosure 등 법인 기본 정보 페이지 공통 패턴.
   disclosure 페이지의 .disc-authority-* 와 동일 스펙을 theme 표준 클래스로 제공.
*/
.fnc-authority-section {
    margin: 48px auto 0 auto;
    padding-top: 40px;
    border-top: 1px solid var(--wp--preset--color--outline-variant);
    max-width: 720px;
    text-align: left;
}
.fnc-authority-label {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.6875rem !important;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
}
.fnc-authority-title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.125rem !important;
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 16px 0 !important;
    line-height: 1.4;
}
.fnc-authority-desc {
    font-size: 0.9375rem !important;
    line-height: 1.65;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 0 16px 0 !important;
}
.fnc-authority-card {
    display: flex !important;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    background: var(--wp--preset--color--surface-container-low);
    border-radius: 12px;
    text-decoration: none !important;
    color: inherit !important;
    transition: background-color .15s, transform .12s, box-shadow .12s;
}
.fnc-authority-card:hover {
    background: var(--wp--preset--color--surface-container);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(13, 99, 27,0.08);
}
.fnc-authority-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--wp--preset--color--on-primary-container, var(--fnc-accent-highlight));
    display: flex;
    align-items: center;
    justify-content: center;
}
.fnc-authority-icon svg {
    color: var(--wp--preset--color--primary);
}
.fnc-authority-body {
    flex: 1;
    min-width: 0;
}
.fnc-authority-name {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    line-height: 1.3;
}
.fnc-authority-sub {
    font-size: 0.8125rem;
    color: var(--wp--preset--color--on-surface-variant);
    margin-top: 2px;
}
.fnc-authority-arrow {
    flex: 0 0 20px;
    color: var(--wp--preset--color--primary);
    display: flex;
    align-items: center;
}

    max-width: 1060px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.single-post:has(.kifc-l2hero-wrap) .wp-block-post-featured-image img {
    aspect-ratio: 9 / 4 !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
    height: auto !important;
}

@media (max-width: 1024px) {
    /* 중요: 1fr 대신 minmax(0, 1fr). 1fr 기본값은 minmax(auto, 1fr) 이라
       콘텐츠 최소 너비(영문 긴 토큰 등)가 track 을 viewport 밖으로 밀어냄.
       minmax(0, 1fr) 로 track 이 가용 폭까지 축소되도록 허용. */
    .fnc-article-main {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 2.5rem !important;
        min-width: 0 !important;
    }
    .fnc-article-sidebar {
        position: static !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .fnc-article-toc,
    .fnc-article-toc li,
    .fnc-article-toc a {
        min-width: 0 !important;
        max-width: 100% !important;
        word-break: keep-all;
        overflow-wrap: anywhere; /* 영문 장문 토큰(Food Valley·Johnston-Mellor 등) 강제 줄바꿈 */
    }
    .fnc-article-abstract-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 1.25rem !important; }
}
@media (max-width: 768px) {
    .fnc-article-meta-row { gap: 1.5rem !important; }
    .fnc-article-abstract-box { padding: 1.75rem !important; }
}

/* ═══════════════════════════════════════════════════════════════
   Newsletter Archive (L2) — Featured + Recent + Older compact list
   ═══════════════════════════════════════════════════════════════ */

/* ── Featured newsletter (latest 1, big) ─────────────────────── */
.fnc-nl-featured .wp-block-query,
.fnc-nl-featured .wp-block-post-template { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.fnc-nl-featured-card {
    background: var(--wp--preset--color--surface-container-low);
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: stretch !important;
    overflow: hidden;
    border-radius: 1rem;
}
.fnc-nl-featured-card .fnc-nl-featured-image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
}
.fnc-nl-featured-card .fnc-nl-featured-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
.fnc-nl-featured-card .fnc-nl-featured-body {
    padding: 3rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 1rem !important;
}
.fnc-nl-featured-card .fnc-nl-featured-meta {
    display: flex !important;
    gap: 0.75rem !important;
    align-items: center !important;
    flex-wrap: wrap;
    margin-bottom: 0.5rem !important;
}
.fnc-nl-featured-card .fnc-nl-featured-pill {
    display: inline-block;
    background: var(--wp--preset--color--primary-container);
    color: var(--wp--preset--color--on-primary-container);
    padding: 0.3rem 0.85rem;
    border-radius: 999px;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.fnc-nl-featured-card .fnc-nl-featured-date {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem;
    color: var(--wp--preset--color--on-surface-variant);
    opacity: 0.7;
}
.fnc-nl-featured-card h2,
.fnc-nl-featured-card .wp-block-post-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.015em !important;
    margin: 0 !important;
}
.fnc-nl-featured-card .wp-block-post-title a { color: var(--wp--preset--color--on-surface); text-decoration: none; }
.fnc-nl-featured-card .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }
.fnc-nl-featured-card p,
.fnc-nl-featured-card .wp-block-post-excerpt p {
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 !important;
}
.fnc-nl-featured-card .fnc-nl-featured-cta {
    margin-top: 1.25rem !important;
}

/* ── Recent (slots 2-3) — 2-col grid, simple cards ───────────── */
.fnc-nl-recent .wp-block-post-template {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2rem !important;
    padding: 0 !important;
    list-style: none !important;
}
.fnc-nl-recent .wp-block-post-template > li { list-style: none; }
.fnc-nl-recent-card {
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 2rem !important;
    height: 100%;
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    transition: background .2s;
    border-radius: var(--fnc-radius-sm);
}
.fnc-nl-recent-card:hover { background: var(--wp--preset--color--surface-container-high); }
.fnc-nl-recent-card .fnc-nl-recent-meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 0.5rem;
}
.fnc-nl-recent-card .fnc-nl-recent-cat {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--wp--preset--color--secondary);
    font-weight: 700;
}
.fnc-nl-recent-card .fnc-nl-recent-date {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.65rem;
    color: var(--wp--preset--color--on-surface-variant);
    opacity: 0.6;
}
.fnc-nl-recent-card .wp-block-post-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    flex-grow: 0;
}
.fnc-nl-recent-card .wp-block-post-title a { color: var(--wp--preset--color--on-surface); text-decoration: none; }
.fnc-nl-recent-card .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }
.fnc-nl-recent-card .wp-block-post-excerpt p {
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-nl-recent-card .wp-block-post-date {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    color: var(--wp--preset--color--on-surface-variant);
    opacity: 0.65;
    margin-top: auto !important;
}

/* ── Older archive (3+) — compact list style ─────────────────── */
.fnc-nl-archive-list .wp-block-post-template {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
.fnc-nl-archive-list .wp-block-post-template > li {
    list-style: none;
    border-bottom: 1px solid var(--wp--preset--color--outline-variant);
    transition: background .15s;
}
.fnc-nl-archive-list .wp-block-post-template > li:hover {
    background: var(--wp--preset--color--surface-container-low);
}
.fnc-nl-archive-row {
    display: grid !important;
    grid-template-columns: 120px 1fr auto !important;
    gap: 2rem !important;
    padding: 1.25rem 1rem !important;
    align-items: center !important;
}
.fnc-nl-archive-row .wp-block-post-date {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wp--preset--color--primary);
    margin: 0 !important;
    letter-spacing: 0.04em;
}
.fnc-nl-archive-row .wp-block-post-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.0625rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}
.fnc-nl-archive-row .wp-block-post-title a {
    color: var(--wp--preset--color--on-surface);
    text-decoration: none;
}
.fnc-nl-archive-row .wp-block-post-title a:hover {
    color: var(--wp--preset--color--primary);
}
.fnc-nl-archive-row .fnc-nl-archive-arrow {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 1.125rem;
    color: var(--wp--preset--color--outline);
    transition: transform .15s, color .15s;
}
.fnc-nl-archive-list .wp-block-post-template > li:hover .fnc-nl-archive-arrow {
    color: var(--wp--preset--color--primary);
    transform: translateX(4px);
}

/* Empty-state for upcoming issues */
.fnc-nl-empty {
    background: var(--wp--preset--color--surface-container-low);
    padding: 3rem !important;
    border-radius: var(--fnc-radius-sm);
    text-align: center;
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-nl-empty-icon {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 2.5rem;
    color: var(--wp--preset--color--outline);
    display: block;
    margin-bottom: 1rem;
    opacity: 0.6;
}

/* ── Newsletter archive — 연·월 스탬프 타일 카드 (확장 가능) ───── */
.fnc-nl-issues-head { text-align: left; }
.fnc-nl-issues-eyebrow {
    font-family: var(--wp--preset--font-family--label, 'Public Sans') !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary) !important;
    margin: 0 0 0.6rem 0 !important;
}
.fnc-nl-issues-title {
    font-family: var(--wp--preset--font-family--headline, 'Manrope') !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 0.75rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-nl-issues-desc {
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    color: var(--wp--preset--color--on-surface-variant) !important;
    max-width: 640px;
    margin: 0 !important;
    word-break: keep-all;
}

/* Card grid */
.fnc-nl-issues .wp-block-query,
.fnc-nl-issues .wp-block-post-template {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.25rem !important;
}
.fnc-nl-issues .wp-block-post-template > li {
    list-style: none;
    padding: 0 !important;
}

/* Card */
.fnc-nl-card {
    display: grid !important;
    grid-template-columns: 108px 1fr !important;
    align-items: start !important;
    gap: 1.5rem !important;
    padding: 1.35rem !important;
    background: var(--wp--preset--color--surface, #fff);
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 1rem;
    position: relative;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.fnc-nl-card:hover {
    transform: translateY(-2px);
    border-color: var(--wp--preset--color--primary);
    box-shadow: 0 12px 32px rgba(14, 26, 20, 0.08);
}

/* Left stamp tile — 연/월/Issue 라벨 */
.fnc-nl-card-mark {
    background: linear-gradient(135deg, var(--fnc-accent-fg) 0%, #0e1a14 100%);
    color: #fff;
    border-radius: var(--fnc-radius-md);
    padding: 0.85rem 0.6rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    aspect-ratio: 1;
    text-align: center;
    position: relative;
    overflow: hidden;
    gap: 0.05rem !important;
}
.fnc-nl-card-mark::before {
    content: '';
    position: absolute;
    top: -20px; right: -20px;
    width: 90px; height: 90px;
    background: radial-gradient(circle, rgba(203, 255, 194, 0.16), transparent 70%);
    pointer-events: none;
}
.fnc-nl-card-mark::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--fnc-accent-highlight) 0%, #9fefd5 100%);
}
.fnc-nl-card-year,
.fnc-nl-card-year time {
    font-family: var(--wp--preset--font-family--label, 'Public Sans') !important;
    font-size: 0.62rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    color: rgba(203, 255, 194, 0.72);
    margin: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}
.fnc-nl-card-month,
.fnc-nl-card-month time {
    font-family: var(--wp--preset--font-family--headline, 'Manrope') !important;
    font-size: 2.1rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: var(--fnc-accent-highlight);
    margin: 0.2rem 0 0.25rem 0 !important;
    letter-spacing: -0.02em;
    text-decoration: none !important;
}
.fnc-nl-card-label {
    font-family: var(--wp--preset--font-family--label, 'Public Sans');
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.24em;
    color: rgba(255, 255, 255, 0.55);
    text-transform: uppercase;
}

/* Right body */
.fnc-nl-card-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 0.65rem !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
.fnc-nl-card-tag {
    display: inline-block;
    font-family: var(--wp--preset--font-family--label, 'Public Sans');
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    color: var(--wp--preset--color--primary);
    text-transform: uppercase;
    align-self: flex-start;
}
.fnc-nl-card-title,
.fnc-nl-card .wp-block-post-title {
    font-family: var(--wp--preset--font-family--headline, 'Manrope') !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.015em !important;
    margin: 0 !important;
    color: var(--wp--preset--color--on-surface);
    word-break: keep-all;
}
.fnc-nl-card .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
    transition: color .15s;
}
.fnc-nl-card:hover .wp-block-post-title a {
    color: var(--wp--preset--color--primary);
}
/* Card-wide click via title anchor ::after */
.fnc-nl-card .wp-block-post-title a::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
}
.fnc-nl-card-excerpt,
.fnc-nl-card .wp-block-post-excerpt,
.fnc-nl-card .wp-block-post-excerpt p {
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: keep-all;
}
.fnc-nl-card-cta {
    font-family: var(--wp--preset--font-family--label, 'Public Sans');
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--wp--preset--color--primary);
    text-transform: uppercase;
    margin-top: 0.15rem;
    transition: transform .2s;
    display: inline-block;
    align-self: flex-start;
}
.fnc-nl-card:hover .fnc-nl-card-cta {
    transform: translateX(3px);
}

/* Mobile: stack stamp above body */
@media (max-width: 640px) {
    .fnc-nl-card {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        padding: 1.25rem !important;
    }
    .fnc-nl-card-mark {
        aspect-ratio: auto;
        flex-direction: row !important;
        justify-content: flex-start !important;
        gap: 0.85rem !important;
        padding: 0.75rem 1.1rem !important;
    }
    .fnc-nl-card-month,
    .fnc-nl-card-month time {
        font-size: 2rem !important;
        margin: 0 !important;
    }
    .fnc-nl-card-year,
    .fnc-nl-card-year time {
        font-size: 0.7rem !important;
    }
    .fnc-nl-card-label {
        margin-left: auto;
    }
}

/* ── Newsletter single-issue template ─────────────────────────── */
/* Hero card: dark green gradient default + optional featured image bg + decorative icon */
.fnc-nl-hero-card {
    position: relative;
    overflow: hidden;
    min-height: 320px;
    border-radius: 1.25rem;
    background: linear-gradient(135deg, var(--fnc-accent-fg) 0%, #0e1a14 100%);
    box-shadow: 0 10px 36px rgba(14, 26, 20, 0.12);
    isolation: isolate;
}
/* Featured image background layer (z:1) — only renders if featured_media is set */
.fnc-nl-hero-card .fnc-nl-hero-bg,
.fnc-nl-hero-card > figure.wp-block-post-featured-image {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.fnc-nl-hero-card .fnc-nl-hero-bg img,
.fnc-nl-hero-card .wp-block-post-featured-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
}
/* Dark overlay (z:2) — provides text contrast on any background */
.fnc-nl-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(14, 26, 20, 0.15) 0%, rgba(14, 26, 20, 0.55) 55%, rgba(14, 26, 20, 0.85) 100%);
    pointer-events: none;
}
/* When NO featured image, overlay is lighter (gradient bg is already dark) */
.fnc-nl-hero-card:not(:has(img)) .fnc-nl-hero-overlay {
    background: radial-gradient(circle at top right, rgba(203, 255, 194, 0.14) 0%, transparent 55%);
}
/* Decorative icon (z:2) — subtle background motif */
.fnc-nl-hero-deco {
    position: absolute;
    top: -40px;
    right: -30px;
    z-index: 2;
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 300px;
    color: rgba(255, 255, 255, 0.07);
    pointer-events: none;
    line-height: 1;
    transform: rotate(-10deg);
    user-select: none;
}
/* Content (z:3) */
.fnc-nl-hero-content {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    gap: 0.75rem !important;
    min-height: 320px;
    padding: 2.25rem 2.5rem 2.25rem !important;
    color: #fff !important;
    margin: 0 !important;
}
.fnc-nl-hero-brand {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 0.35rem;
}
.fnc-nl-hero-logo {
    height: 28px;
    width: auto;
    display: block;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.3));
}
.fnc-nl-hero-divider {
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, 0.28);
}
.fnc-nl-hero-label {
    font-family: var(--wp--preset--font-family--label, 'Public Sans');
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--fnc-accent-highlight);
}
.fnc-nl-hero-title,
.fnc-nl-hero-content .wp-block-post-title {
    font-family: var(--wp--preset--font-family--headline, 'Manrope') !important;
    font-size: clamp(1.6rem, 3.5vw, 2.35rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    color: #ffffff !important;
    word-break: keep-all;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}
.fnc-nl-hero-date-wrap {
    margin: 0 !important;
}
.fnc-nl-hero-date-wrap .wp-block-post-date,
.fnc-nl-hero-date-wrap time {
    font-family: var(--wp--preset--font-family--label, 'Public Sans') !important;
    font-size: 0.85rem !important;
    color: rgba(255, 255, 255, 0.78) !important;
    margin: 0 !important;
    letter-spacing: 0.03em;
    text-decoration: none !important;
}
@media (max-width: 640px) {
    .fnc-nl-hero-card,
    .fnc-nl-hero-content { min-height: 260px; }
    .fnc-nl-hero-content { padding: 1.75rem 1.5rem !important; }
    .fnc-nl-hero-deco { font-size: 220px; top: -30px; right: -20px; }
}

/* Body — white card on warm background */
.fnc-nl-single-body {
    font-family: var(--wp--preset--font-family--body);
    font-size: 1.0625rem;
    line-height: 1.8;
    color: var(--wp--preset--color--on-surface);
    background: #ffffff;
    border-radius: 1.25rem;
    box-shadow: 0 1px 3px rgba(13, 99, 27,0.06), 0 4px 20px rgba(13, 99, 27,0.04);
}
@media (max-width: 640px) {
    .fnc-nl-single-body {
        padding: 2rem 1.5rem;
        border-radius: 1rem;
    }
}
.fnc-nl-single-body > .wp-block-post-content {
    margin: 0 !important;
    padding: 0 !important;
}
.fnc-nl-single-body > *:first-child,
.fnc-nl-single-body > .wp-block-post-content > *:first-child {
    margin-top: 0 !important;
}
.fnc-nl-single-body > *:last-child,
.fnc-nl-single-body > .wp-block-post-content > *:last-child {
    margin-bottom: 0 !important;
}
/* Body vertical rhythm — unified to max 1.5rem between blocks, no double-stacking */
.fnc-nl-single-body p {
    margin: 0 0 1rem 0 !important;
    word-break: keep-all;
}
.fnc-nl-single-body p:last-child { margin-bottom: 0 !important; }
.fnc-nl-single-body h2 {
    font-family: var(--wp--preset--font-family--headline, 'Manrope') !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
    line-height: 1.35 !important;
    margin: 1.75rem 0 0.6rem 0 !important;
}
.fnc-nl-single-body h2:first-child { margin-top: 0 !important; }
.fnc-nl-single-body h3 {
    font-family: var(--wp--preset--font-family--headline, 'Manrope') !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 1.25rem 0 0.5rem 0 !important;
}
.fnc-nl-single-body hr,
.fnc-nl-single-body .wp-block-separator {
    border: 0 !important;
    height: 1px !important;
    background: var(--wp--preset--color--outline-variant) !important;
    margin: 1.5rem 0 !important;
    opacity: 0.6;
}
.fnc-nl-single-body ul,
.fnc-nl-single-body ol {
    margin: 0 0 1rem 0 !important;
    padding-left: 1.25rem !important;
}
.fnc-nl-single-body li { margin-bottom: 0.35rem !important; }
.fnc-nl-single-body blockquote {
    margin: 1.5rem 0 !important;
    padding: 0.75rem 1.25rem !important;
    border-left: 3px solid var(--wp--preset--color--primary);
    background: var(--wp--preset--color--surface-container-lowest);
}
.fnc-nl-single-body blockquote p:last-child { margin: 0 !important; }
.fnc-nl-single-body .wp-block-buttons {
    margin: 1rem 0 !important;
}
.fnc-nl-single-body a { color: var(--wp--preset--color--primary); }
.fnc-nl-single-body .has-medium-font-size {
    font-size: 1.125rem !important;
    line-height: 1.7 !important;
}
.fnc-nl-single-cta h3,
.fnc-nl-single-cta p { margin: 0 !important; }
.fnc-nl-single-cta p { margin-top: 0.4rem !important; }
.fnc-nl-single-cta .wp-block-buttons { margin-top: 1.25rem !important; }

/* ── Essay TOC (목차 박스) ───────────────────────────────── */
.fnc-essay-toc {
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 0.5rem;
    padding: 1.25rem 1.5rem;
    margin: 1.5rem 0 2.5rem;
    background: var(--wp--preset--color--surface-container-lowest);
}
.fnc-essay-toc__label {
    font-size: 0.8125rem;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 0 0.875rem 0;
}
.fnc-essay-toc ol {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.fnc-essay-toc li {
    padding: 0.5rem 0 !important;
    border-top: 1px solid var(--wp--preset--color--outline-variant);
    margin: 0 !important;
}
.fnc-essay-toc li:first-child { border-top: none !important; }
.fnc-essay-toc a {
    color: var(--wp--preset--color--on-surface) !important;
    text-decoration: none !important;
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    font-size: 0.9375rem;
    line-height: 1.5;
}
.fnc-essay-toc a:hover { color: var(--wp--preset--color--primary) !important; }
.fnc-essay-toc__num {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--wp--preset--color--on-surface-variant);
    white-space: nowrap;
    flex-shrink: 0;
}
.fnc-essay-toc__title { flex: 1; }

/* ── Clean Essay Template — fnc-essay-* ─────────────────── */
.fnc-essay-kpi-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin: 2.5rem 0;
}
@media (max-width: 600px) { .fnc-essay-kpi-row { grid-template-columns: 1fr; } }
.fnc-essay-kpi {
    padding: 1.5rem 1.25rem;
    background: var(--wp--preset--color--surface-container-low);
    border-radius: 0.625rem;
    border-top: 3px solid var(--wp--preset--color--primary);
}
.fnc-essay-kpi__number {
    display: block;
    font-family: var(--wp--preset--font-family--headline);
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--wp--preset--color--primary);
    line-height: 1.1;
    margin-bottom: 0.375rem;
}
.fnc-essay-kpi__text {
    font-size: 0.875rem;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.6;
}
.fnc-essay-part {
    border-top: 2px solid var(--wp--preset--color--on-surface);
    padding-top: 2.5rem;
    margin-top: 3.5rem;
    margin-bottom: 0.25rem;
}
.fnc-essay-part__eyebrow {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--wp--preset--color--on-surface-variant);
    margin-bottom: 0.5rem;
}
.fnc-essay-part__title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: clamp(1.375rem, 2.5vw, 1.875rem);
    font-weight: 800;
    color: var(--wp--preset--color--on-surface);
    line-height: 1.25;
    margin: 0;
}
.fnc-essay-callout {
    border-left: 3px solid var(--wp--preset--color--primary);
    padding: 1rem 1.5rem;
    margin: 2rem 0;
    background: var(--wp--preset--color--surface-container-lowest);
    border-radius: 0 0.5rem 0.5rem 0;
}
.fnc-essay-callout p { margin: 0; font-size: 1rem; line-height: 1.75; color: var(--wp--preset--color--on-surface); }
.fnc-essay-aside {
    background: var(--wp--preset--color--surface-container);
    border-radius: 0.625rem;
    padding: 1.5rem;
    margin: 2rem 0;
}
.fnc-essay-aside h4 { font-size: 1rem; font-weight: 700; color: var(--wp--preset--color--on-surface); margin: 0 0 0.75rem; }
.fnc-essay-aside p { font-size: 0.9375rem; color: var(--wp--preset--color--on-surface-variant); margin: 0 0 0.625rem; line-height: 1.65; }
.fnc-essay-aside p:last-child { margin-bottom: 0; }
.fnc-essay-sep { height: 1px; background: var(--wp--preset--color--outline-variant); margin: 3rem 0; }
.fnc-essay-lead {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.65;
    color: var(--wp--preset--color--on-surface);
    border-left: 4px solid var(--wp--preset--color--primary);
    padding-left: 1.25rem;
    margin: 1.5rem 0 2rem;
}

/* ── Agrivoltaics Hub — 4-box specialized grid ──────────── */
.fnc-av-eyebrow {
    display: inline-block;
    background: var(--wp--preset--color--tertiary-fixed);
    color: var(--wp--preset--color--on-tertiary-fixed);
    padding: 0.25rem 1rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.fnc-av-title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--wp--preset--color--primary);
    margin: 0 0 1rem 0;
    line-height: 1.15;
}
.fnc-av-desc {
    font-size: 1.0625rem;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.65;
    border-left: 4px solid var(--wp--preset--color--tertiary-fixed-dim);
    padding-left: 1.25rem;
    font-style: italic;
    margin: 0 0 3rem 0;
    max-width: 680px;
}
.fnc-av-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
}
@media (max-width: 900px) {
    .fnc-av-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
    .fnc-av-grid { grid-template-columns: 1fr !important; }
}
.fnc-av-box {
    position: relative;
    padding: 2rem;
    border-radius: 0.75rem;
    transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 10px 40px rgba(0,101,101,0.04);
    text-decoration: none !important;
    display: block;
    color: inherit;
}
.fnc-av-box:nth-child(odd)  { background: var(--wp--preset--color--surface-container-lowest); }
.fnc-av-box:nth-child(even) { background: var(--wp--preset--color--surface-container-low); }
.fnc-av-box:hover {
    background: var(--wp--preset--color--primary-container) !important;
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,101,101,0.12);
}
.fnc-av-box-bar {
    height: 4px;
    width: 3rem;
    background: var(--wp--preset--color--tertiary);
    border-radius: 999px;
    margin-bottom: 1.5rem;
    transition: width 0.35s, background 0.3s;
}
.fnc-av-box:hover .fnc-av-box-bar {
    width: 100%;
    background: var(--wp--preset--color--tertiary-fixed);
}
.fnc-av-box-icon {
    position: absolute;
    top: 0; right: 0;
    padding: 1rem;
    font-size: 4rem !important;
    opacity: 0.07;
    transition: opacity 0.3s;
    pointer-events: none;
    color: var(--wp--preset--color--primary);
}
.fnc-av-box:hover .fnc-av-box-icon { opacity: 0.18; }
.fnc-av-box h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--primary) !important;
    margin: 0 0 0.75rem 0 !important;
    line-height: 1.3 !important;
    transition: color 0.3s;
}
.fnc-av-box:hover h3 { color: white !important; }
.fnc-av-box p.av-body {
    font-size: 0.875rem !important;
    color: var(--wp--preset--color--on-surface-variant) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    transition: color 0.3s;
}
.fnc-av-box:hover p.av-body { color: var(--wp--preset--color--on-primary-container) !important; }
.fnc-av-box-cta {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 2rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
    opacity: 0;
    transition: opacity 0.3s, color 0.3s;
}
.fnc-av-box:hover .fnc-av-box-cta {
    opacity: 1;
    color: var(--wp--preset--color--tertiary-fixed);
}
.fnc-av-box-cta .material-symbols-outlined { font-size: 1rem !important; }

/* ── Tool callout (계산기·프로그램 인라인 소개 박스) ────────── */
.fnc-tool-callout {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-left: 4px solid #16a34a;
    border-radius: 0.75rem;
    padding: 1.25rem 1.5rem;
    margin: 2rem 0;
}
.fnc-tool-callout__icon {
    font-size: 1.75rem;
    flex-shrink: 0;
    line-height: 1.2;
}
.fnc-tool-callout__body p {
    margin: 0 0 0.5rem;
    font-size: 0.9375rem;
    color: #1b1c1c;
}
.fnc-tool-callout__body p strong { color: #14532d; }
.fnc-tool-callout__link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    background: #16a34a;
    color: #fff !important;
    font-weight: 700;
    font-size: 0.875rem;
    padding: 0.45rem 1rem;
    border-radius: 6px;
    text-decoration: none !important;
    transition: background 0.2s;
}
.fnc-tool-callout__link:hover { background: #15803d; }
.fnc-tool-callout__link .material-symbols-outlined { font-size: 1rem; }

/* ── Article body text — single / single-wide 포스트 본문 ────── */
.single .entry-content p,
.single .wp-block-post-content p {
    font-size: 1.0625rem !important;   /* 17px — 기본 16px 대비 +1 */
    line-height: 1.8 !important;
}
.single .entry-content li,
.single .wp-block-post-content li {
    font-size: 1.0625rem !important;
    line-height: 1.75 !important;
}

/* ── References list (참고문헌 섹션) — posts and essays ──────── */
.fnc-refs {
    list-style: decimal !important;
    padding-left: 1.5rem !important;
    padding-inline-start: 1.5rem !important; /* Gutenberg logical property override */
    margin: 1rem 0 0 0 !important;
    max-width: none !important;              /* Gutenberg is-layout-flow 제약 해제 */
    box-sizing: border-box !important;
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
    color: var(--wp--preset--color--on-surface-variant);
    counter-reset: ref;
}
.fnc-refs > li {
    margin-bottom: 0.75rem !important;
    padding-left: 0.25rem;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
.fnc-refs > li::marker {
    color: var(--wp--preset--color--primary);
    font-weight: 700;
    font-family: var(--wp--preset--font-family--label, 'Public Sans');
    font-size: 0.85rem;
}
.fnc-refs em { font-style: italic; color: var(--wp--preset--color--on-surface); }
.fnc-refs a {
    color: var(--wp--preset--color--primary);
    word-break: break-all;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.fnc-refs a:hover { opacity: 0.75; }

/* Heading "참고문헌" above the refs list — slightly smaller than body h2 */
h2.wp-block-heading:has(+ .wp-block-list.fnc-refs),
h2.wp-block-heading:has(+ ol.fnc-refs),
.wp-block-post-content h2:has(+ .fnc-refs) {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin-top: 3rem !important;
    margin-bottom: 0.75rem !important;
    padding-top: 1.5rem !important;
    border-top: 1px solid var(--wp--preset--color--outline-variant);
    letter-spacing: -0.01em;
}

/* ── About → Newsletter link section (L1 → L2) ──────────────── */
.fnc-about-newsletter-link {
    background: var(--wp--preset--color--surface-container-low);
    padding: 3rem !important;
    border-radius: 1rem;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 1.5rem !important;
}
.fnc-about-newsletter-link h3 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 0 0.5rem 0 !important;
}
.fnc-about-newsletter-link p {
    font-size: 0.9375rem !important;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 !important;
}
.fnc-about-cta-btn {
    display: inline-flex;
    align-items: center;
    padding: 0.625rem 1.375rem;
    background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--primary-container) 100%);
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.25s ease, transform 0.18s ease;
}
.fnc-about-cta-btn:hover {
    background: linear-gradient(135deg, var(--wp--preset--color--primary-container) 0%, var(--wp--preset--color--primary) 100%);
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .fnc-nl-featured-card { grid-template-columns: 1fr !important; }
    .fnc-nl-featured-card .fnc-nl-featured-image { aspect-ratio: 16 / 9; }
    .fnc-nl-featured-card .fnc-nl-featured-body { padding: 1.75rem !important; }
    .fnc-nl-recent .wp-block-post-template { grid-template-columns: 1fr !important; }
    .fnc-nl-archive-row {
        grid-template-columns: 1fr !important;
        gap: 0.5rem !important;
    }
    .fnc-nl-archive-row .fnc-nl-archive-arrow { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
    grid-template-columns: 1fr;
    gap: 2rem;
}

.fnc-report-card {
    display: block;
    text-decoration: none;
    color: inherit;
}
.fnc-report-card__img {
    background: var(--wp--preset--color--surface-container-low);
    height: 12rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    overflow: hidden;
}
.fnc-report-card__img h4 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 !important;
    position: relative;
    z-index: 1;
    transition: color .15s;
    word-break: keep-all;
}
.fnc-report-card:hover .fnc-report-card__img h4 { color: var(--wp--preset--color--primary); }
.fnc-report-card__series-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background: var(--wp--preset--color--primary);
    color: #fff;
    font-family: var(--wp--preset--font-family--label);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .06em;
    padding: .2rem .55rem;
    border-radius: 999px;
    z-index: 1;
}
.fnc-report-card__tag {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: var(--wp--preset--color--surface);
    color: var(--wp--preset--color--on-surface);
    font-family: var(--wp--preset--font-family--label);
    font-size: .75rem;
    padding: .25rem .5rem;
    border-radius: 3px;
    box-shadow: 0 1px 3px rgba(13, 99, 27,.05);
    opacity: 1;
    transition: opacity .2s;
}
.fnc-report-card:hover .fnc-report-card__tag { opacity: 1; }
.fnc-report-card:has(.fnc-report-card__img--photo) { height: 100%; }
.fnc-report-card__img--photo {
    background-size: cover;
    background-position: center;
    height: 100%;
    min-height: 15rem;
    margin-bottom: 0;
}
.fnc-report-card__img--photo::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.35) 55%, transparent 100%);
    border-radius: inherit;
}
.fnc-report-card__img--photo h4 { color: #fff; }
.fnc-report-card:hover .fnc-report-card__img--photo h4 { color: rgba(255,255,255,.88); }
.fnc-report-card__img--photo .fnc-report-card__tag { opacity: 1; background: rgba(255,255,255,.9); }
.fnc-report-card__img--photo .fnc-report-card__desc {
    color: rgba(255,255,255,.75);
    margin-top: .375rem;
    position: relative;
    z-index: 1;
    font-size: .8125rem;
}
.fnc-report-card__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -70%);
    font-size: 4rem;
    line-height: 1;
    font-variation-settings: 'FILL' 1;
    pointer-events: none;
    user-select: none;
}
.fnc-report-card__desc {
    font-family: var(--wp--preset--font-family--body);
    font-size: .875rem;
    line-height: 1.6;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
    word-break: keep-all;
}

/* ── Insights: 무엇을 분석합니까 — topic grid ─────────────────── */
.fnc-eyebrow-badge {
    display: inline-block;
    font-family: var(--wp--preset--font-family--label);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--wp--preset--color--on-primary-container);
    background: var(--wp--preset--color--primary-container);
    padding: .2rem .65rem;
    border-radius: .25rem;
}
:root {
    --fnc-accent-emphasis: var(--wp--preset--color--primary);
    --fnc-accent-subtle:   var(--wp--preset--color--primary-container);
    --fnc-accent-fg:       var(--wp--preset--color--on-primary-container);
}
.fnc-topic-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}
@media (min-width: 768px) {
    .fnc-topic-grid { grid-template-columns: repeat(3, 1fr); }
}
.fnc-topic-card {
    position: relative;
    background: var(--wp--preset--color--surface-container-low);
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 12px;
    padding: 1.5rem 1.5rem 1.25rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .15s, transform .15s;
}
.fnc-topic-card:hover {
    box-shadow: 0 4px 16px rgba(13,99,27,.1);
    transform: translateY(-2px);
}
.fnc-topic-card-deco {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    border-radius: 12px 12px 0 0;
}
.fnc-topic-card-icon {
    width: 2.5rem; height: 2.5rem;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.fnc-topic-card-icon .material-symbols-outlined { font-size: 1.375rem; }
.fnc-topic-card-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.0625rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-topic-card-desc {
    font-size: .9rem;
    line-height: 1.65;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
    flex: 1;
    word-break: keep-all;
}
.fnc-topic-card-cta {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-family: var(--wp--preset--font-family--label);
    font-size: .8125rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    margin-top: auto;
}
.fnc-topic-card-cta .material-symbols-outlined { font-size: 1rem; }

/* ── Corporate Vanguard (L1 페이지 — 기업 분석 섹션) ────────── */
.fnc-vanguard { max-width: 1200px; margin: 0 auto; }
.fnc-vanguard-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: start;
}
@media (min-width: 900px) {
    .fnc-vanguard-inner { grid-template-columns: 5fr 7fr; gap: 56px; }
}
.fnc-vanguard-left {
    position: sticky;
    top: 88px;
    align-self: start;
}
@media (max-width: 899px) {
    .fnc-vanguard-left { position: static; }
}
.fnc-vanguard-eyebrow { margin-bottom: 1rem; }
.fnc-vanguard-eyebrow .fnc-featured-pill {
    display: inline-block;
    padding: 0.3rem 0.8rem;
    background: var(--wp--preset--color--primary-container);
    color: var(--wp--preset--color--on-primary-container);
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 4px;
}
.fnc-vanguard-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
    font-weight: 800 !important;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 1rem 0 !important;
    letter-spacing: -0.015em !important;
    line-height: 1.2 !important;
    word-break: keep-all;
}
.fnc-vanguard-desc {
    font-family: var(--wp--preset--font-family--body);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 0 1.75rem 0;
    max-width: 32em;
    word-break: keep-all;
}
.fnc-vanguard-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.875rem 1.5rem;
    background: var(--wp--preset--color--primary);
    color: #fff !important;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.9rem;
    font-weight: 700;
    border-radius: 0.625rem;
    text-decoration: none !important;
    transition: background .15s ease, transform .12s ease;
}
.fnc-vanguard-cta:hover {
    background: var(--wp--preset--color--primary-container);
    color: var(--wp--preset--color--on-primary-container) !important;
    transform: translateX(2px);
}
.fnc-vanguard-cta .material-symbols-outlined { font-size: 18px; }

.fnc-vanguard-right {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.fnc-vanguard-imgcard {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 0;
    background: #fff;
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 0.875rem;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit;
    transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.fnc-vanguard-imgcard:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
    border-color: var(--wp--preset--color--primary);
}
@media (max-width: 600px) {
    .fnc-vanguard-imgcard { grid-template-columns: 100px 1fr; }
}
.fnc-vanguard-imgcard__box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #002147, #0d631b);
    color: #fff;
    min-height: 120px;
}
.fnc-vanguard-imgcard__box-icon {
    font-size: 36px !important;
    color: rgba(255,255,255,0.85);
    font-variation-settings: 'FILL' 0, 'wght' 400 !important;
}
.fnc-vanguard-imgcard__label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 1rem 1.25rem;
}
.fnc-vanguard-imgcard__label-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.fnc-vanguard-imgcard__eyebrow {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.fnc-vanguard-imgcard__title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    line-height: 1.35;
    word-break: keep-all;
}
.fnc-vanguard-imgcard__sub {
    font-family: var(--wp--preset--font-family--body);
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--wp--preset--color--on-surface-variant);
    word-break: keep-all;
    margin-top: 2px;
}
.fnc-vanguard-imgcard__arrow {
    font-size: 22px !important;
    color: var(--wp--preset--color--primary);
    flex-shrink: 0;
    transition: transform .15s ease;
}
.fnc-vanguard-imgcard:hover .fnc-vanguard-imgcard__arrow { transform: translateX(3px); }

/* ── L2 Sub-category 진입 카드 (L1 페이지에서 사용) ─────────────
 * L1 카테고리 페이지가 자식 L2 카테고리로 안내할 때 사용하는 큰 카드.
 * 2-col grid, 좌측 아이콘 + 우측 카피·CTA */
.fnc-l2-nav {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 0 auto 64px;
    max-width: 1080px;
}
@media (min-width: 720px) {
    .fnc-l2-nav { grid-template-columns: 1fr 1fr; }
}
.fnc-l2-nav__card {
    display: block;
    padding: 32px 32px 28px;
    background: #fff;
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 16px;
    text-decoration: none !important;
    color: inherit;
    transition: transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.fnc-l2-nav__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.06);
    border-color: var(--wp--preset--color--primary);
}
.fnc-l2-nav__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px; height: 48px;
    margin-bottom: 16px;
    border-radius: 12px;
    background: rgba(13,99,27,.08);
}
.fnc-l2-nav__icon .material-symbols-outlined {
    font-size: 28px;
    color: var(--wp--preset--color--primary);
    font-variation-settings: 'FILL' 1;
}
.fnc-l2-nav__title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.4rem !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 8px !important;
    letter-spacing: -.01em !important;
    word-break: keep-all;
}
.fnc-l2-nav__desc {
    font-size: .95rem;
    line-height: 1.6;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 0 16px;
    word-break: keep-all;
}
.fnc-l2-nav__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--wp--preset--font-family--label);
    font-size: .8125rem;
    font-weight: 600;
}
.fnc-l2-nav__count {
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-l2-nav__cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--wp--preset--color--primary);
}
.fnc-l2-nav__cta .material-symbols-outlined { font-size: 18px; }
.fnc-l2-nav__card:hover .fnc-l2-nav__cta { text-decoration: underline; }

/* ── 심층 보고서 아카이브 페이지 ────────────────────────────── */
.fnc-deep-reports-archive {
    max-width: 1080px;
    margin: 0 auto;
    padding: 3rem var(--wp--preset--spacing--70) 5rem;
}
.fnc-deep-reports-archive__header {
    margin-bottom: 3rem;
}
.fnc-deep-reports-archive__header h1 {
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -.02em;
    margin: .5rem 0 .75rem;
    color: var(--wp--preset--color--on-surface);
}
.fnc-deep-reports-archive__header p {
    font-size: 1rem;
    color: var(--wp--preset--color--on-surface-variant);
    max-width: 52rem;
}
/* 레거시 grid — global-supply-chain 등 구 패턴 페이지에서 여전히 사용 */
.fnc-deep-reports-archive__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) {
    .fnc-deep-reports-archive__grid { grid-template-columns: repeat(3, 1fr); }
}
.fnc-deep-reports-archive__grid .fnc-deep-series-card { grid-column: span 3; }
@media (max-width: 767px) {
    .fnc-deep-reports-archive__grid .fnc-deep-series-card { grid-column: span 1; }
}

/* A안 (deep-reports): 시리즈 카드는 풀-너비 세로 스택, 단편은 별도 섹션의 1-col 리스트 */
.fnc-deep-reports-archive__series-list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.fnc-deep-reports-archive__section { margin-top: 4rem; }
.fnc-deep-reports-archive__section-head {
    font-size: 1.375rem;
    font-weight: 800;
    letter-spacing: -.015em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 .25rem;
}
.fnc-deep-reports-archive__section-lede {
    font-size: .9375rem;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 0 1.5rem;
}
/* 단편 에세이 리스트 — 박스 없이 구조화된 항목 */
.fnc-deep-reports-archive__essays-grid {
    display: flex;
    flex-direction: column;
    border-top: 2px solid var(--wp--preset--color--outline-variant);
}
.fnc-dr-essay {
    display: flex;
    align-items: baseline;
    gap: 1.25rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--wp--preset--color--outline-variant);
    text-decoration: none;
    color: inherit;
    transition: background .15s ease;
}
.fnc-dr-essay:hover { background: var(--wp--preset--color--surface-container-high); }
.fnc-dr-essay:hover .fnc-dr-essay__title { color: var(--wp--preset--color--primary); }
.fnc-dr-essay__tag {
    flex-shrink: 0;
    font-family: var(--wp--preset--font-family--label);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--wp--preset--color--on-primary-container);
    background: var(--wp--preset--color--primary-container);
    padding: .2rem .55rem;
    border-radius: .25rem;
    white-space: nowrap;
}
.fnc-dr-essay__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .3rem;
}
.fnc-dr-essay__title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.0625rem;
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--wp--preset--color--on-surface);
    line-height: 1.35;
    word-break: keep-all;
    transition: color .15s ease;
}
.fnc-dr-essay__desc {
    font-size: .875rem;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.55;
    word-break: keep-all;
}
.fnc-dr-essay__arrow {
    flex-shrink: 0;
    font-size: 1.1rem;
    color: var(--wp--preset--color--on-surface-variant);
    transition: color .15s ease, transform .15s ease;
}
.fnc-dr-essay:hover .fnc-dr-essay__arrow {
    color: var(--wp--preset--color--primary);
    transform: translateX(3px);
}
/* 시리즈 카드 — 좌측 컬러 패널 + 우측 시리즈 본문 */
.fnc-deep-series-card {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 0;
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
    text-decoration: none;
    color: inherit;
}
@media (max-width: 767px) {
    .fnc-deep-series-card { grid-template-columns: 1fr; }
}
.fnc-deep-series-card .fnc-report-card__img {
    border-radius: 0;
    height: auto;
    min-height: 180px;
    justify-content: flex-start;
    padding: 3.25rem 1.5rem 1.5rem;
    margin-bottom: 0;
}
/* h4 폰트 크기 — WP 코어 h4 (x-large) override 차단 */
.fnc-deep-series-card .fnc-report-card__img h4,
.fnc-report-card .fnc-report-card__img h4 {
    font-size: 1.125rem !important;
    margin: 0 !important;
    align-self: flex-start;
}
.fnc-deep-series-card__body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background: var(--wp--preset--color--surface-container-low);
}
.fnc-deep-series-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-deep-series-card__list li {
    font-size: .9rem;
    line-height: 1.5;
    border-bottom: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-deep-series-card__list a {
    color: var(--wp--preset--color--on-surface);
    text-decoration: none;
    display: block;
    position: relative;
    padding: .7rem .5rem .7rem 1.4rem;
    word-break: keep-all;
    transition: color .15s ease, background .15s ease;
}
.fnc-deep-series-card__list a::before {
    content: "›";
    position: absolute;
    left: .35rem;
    top: .65rem;
    color: var(--wp--preset--color--primary);
    font-weight: 700;
    line-height: 1.5;
}
.fnc-deep-series-card__list a:hover {
    color: var(--wp--preset--color--primary);
    background: var(--wp--preset--color--surface-container-high);
}
.fnc-deep-series-card__cta {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    margin-top: auto;
}

/* ═══════════════════════════════════════════════════════════════
   Research Archive Page — Sidebar Filter + Paginated List
   ═══════════════════════════════════════════════════════════════ */

/* ── Layout: sidebar + main ─────────────────────────────────── */
.fnc-archive-layout {
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 3rem !important;
    align-items: start !important;
}
.fnc-archive-sidebar {
    position: sticky;
    top: 100px;
}

/* ── Sidebar sections ───────────────────────────────────────── */
.fnc-archive-sidebar section { margin-bottom: 2.5rem; }
.fnc-archive-sidebar section:last-child { margin-bottom: 0; }
.fnc-archive-sidebar h3 {
    font-family: var(--wp--preset--font-family--label) !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--wp--preset--color--primary) !important;
    margin: 0 0 1.25rem 0 !important;
}

/* Search box */
.fnc-archive-search .wp-block-search__inside-wrapper,
.fnc-archive-search .wp-block-search {
    border: none !important;
    background: var(--wp--preset--color--surface-container-high) !important;
    border-radius: 0.5rem !important;
    padding: 0 !important;
}
.fnc-archive-search input[type=search] {
    background: transparent !important;
    border: none !important;
    padding: 0.625rem 1rem !important;
    font-size: 0.875rem !important;
    width: 100% !important;
    font-family: var(--wp--preset--font-family--body);
}
.fnc-archive-search input[type=search]:focus {
    outline: 2px solid var(--wp--preset--color--primary);
    outline-offset: -2px;
    border-radius: var(--fnc-radius-sm);
}
.fnc-archive-search button {
    background: transparent !important;
    border: none !important;
    padding: 0.5rem 0.75rem !important;
    color: var(--wp--preset--color--on-surface-variant) !important;
}
.fnc-archive-search button:hover { color: var(--wp--preset--color--primary) !important; }

/* Category filter list */
.fnc-archive-cats {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
}
.fnc-archive-cats li {
    list-style: none;
    margin: 0;
}
.fnc-archive-cats a {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-family: var(--wp--preset--font-family--body);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--wp--preset--color--on-surface);
    text-decoration: none;
    padding: 0.375rem 0.5rem;
    border-radius: 0.375rem;
    transition: all .15s;
}
.fnc-archive-cats a:hover {
    background: var(--wp--preset--color--surface-container-low);
    color: var(--wp--preset--color--primary);
}
.fnc-archive-cats a::before {
    content: "";
    width: 0.875rem;
    height: 0.875rem;
    border: 1.5px solid var(--wp--preset--color--outline-variant);
    border-radius: 2px;
    flex-shrink: 0;
    transition: all .15s;
}
.fnc-archive-cats a:hover::before {
    border-color: var(--wp--preset--color--primary);
}

/* Year filter grid */
.fnc-archive-years {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem !important;
}
.fnc-archive-years a {
    display: block;
    padding: 0.5rem 0.75rem;
    background: var(--wp--preset--color--surface-container-low);
    color: var(--wp--preset--color--on-surface-variant);
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.85rem;
    font-weight: 500;
    text-align: center;
    border-radius: 0.375rem;
    text-decoration: none;
    transition: all .15s;
}
.fnc-archive-years a:hover {
    background: var(--wp--preset--color--surface-container-high);
    color: var(--wp--preset--color--on-surface);
}
.fnc-archive-years a.is-active {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--on-primary);
}

/* ── Archive topic tabs + sections ──────────────────────── */
.fnc-archive-topic-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
    margin-bottom: 3rem;
}
.fnc-archive-topic-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    border: 1.5px solid var(--tab-color, #6b7280);
    color: var(--tab-color, #6b7280);
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s;
    font-family: var(--wp--preset--font-family--manrope, sans-serif);
}
.fnc-archive-topic-tab:hover {
    background: var(--tab-color, #6b7280);
    color: #fff;
}
.fnc-archive-topic-tab .material-symbols-outlined { font-size: 1rem !important; }
.fnc-archive-topic-tab__count {
    background: var(--tab-color, #6b7280);
    color: #fff;
    border-radius: 999px;
    padding: 0 0.45rem;
    font-size: 0.75rem;
    line-height: 1.5;
    font-weight: 800;
}
.fnc-archive-topic-section {
    margin-bottom: 3.5rem;
}
.fnc-archive-topic-header {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    border-left: 4px solid var(--wp--preset--color--primary);
    padding-left: 0.875rem;
    margin-bottom: 1.5rem;
}
.fnc-archive-topic-header .material-symbols-outlined { font-size: 1.25rem !important; }
.fnc-archive-topic-header .fnc-archive-cat-title {
    margin: 0;
    font-size: 1.125rem;
}
.fnc-archive-topic-header .fnc-archive-cat-count {
    margin-left: auto;
    font-size: 0.8125rem;
    color: var(--wp--preset--color--on-surface-variant);
}

/* ── Archive item cards (horizontal layout) ─────────────── */
.fnc-archive-results .wp-block-post-template {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.fnc-archive-results .wp-block-post-template > li { list-style: none; }
.fnc-archive-item {
    display: grid !important;
    grid-template-columns: 220px 1fr !important;
    gap: 2rem !important;
    padding: 2rem !important;
    background: var(--wp--preset--color--surface-container-lowest);
    border-radius: 1rem;
    transition: transform .2s, box-shadow .2s;
}
.fnc-archive-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(13, 99, 27,.06);
}
.fnc-archive-item-image {
    aspect-ratio: 3 / 4;
    border-radius: var(--fnc-radius-sm);
    overflow: hidden;
    background:
        radial-gradient(circle at 30% 30%, rgba(255,255,255,0.15), transparent 50%),
        linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--secondary));
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.fnc-archive-item-image .wp-block-post-featured-image,
.fnc-archive-item-image .wp-block-post-featured-image a,
.fnc-archive-item-image figure {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    display: block;
}
.fnc-archive-item-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}
.fnc-archive-item-image::after {
    content: "menu_book";
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 3.5rem;
    color: rgba(255,255,255,0.35);
    position: absolute;
    pointer-events: none;
}
.fnc-archive-item-image:has(img)::after { display: none; }

.fnc-archive-item-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 0.5rem 0 !important;
    gap: 1.5rem !important;
}
.fnc-archive-item-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}
.fnc-archive-item-tags .wp-block-post-terms,
.fnc-archive-item-tags .wp-block-post-terms a {
    display: inline-block !important;
    padding: 0.25rem 0.625rem !important;
    background: var(--wp--preset--color--secondary-container) !important;
    color: var(--wp--preset--color--on-secondary-container) !important;
    font-family: var(--wp--preset--font-family--label) !important;
    font-size: 0.625rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
.fnc-archive-item-tags .wp-block-post-date {
    display: inline-block !important;
    padding: 0.25rem 0.625rem !important;
    background: var(--wp--preset--color--surface-container-high) !important;
    color: var(--wp--preset--color--on-surface-variant) !important;
    font-family: var(--wp--preset--font-family--label) !important;
    font-size: 0.625rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    border-radius: 3px !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}
.fnc-archive-item .wp-block-post-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 0 0.75rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-archive-item .wp-block-post-title a {
    color: inherit;
    text-decoration: none;
    transition: color .15s;
}
.fnc-archive-item:hover .wp-block-post-title a { color: var(--wp--preset--color--primary); }
.fnc-archive-item .wp-block-post-excerpt {
    margin: 0 0 1.5rem 0 !important;
}
.fnc-archive-item .wp-block-post-excerpt p {
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-archive-item-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    color: var(--wp--preset--color--on-surface-variant) !important;
    font-family: var(--wp--preset--font-family--body);
}
.fnc-archive-item-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.fnc-archive-item-meta .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 0.95rem;
}
.fnc-archive-item-actions {
    display: flex !important;
    gap: 0.75rem !important;
    flex-wrap: wrap;
}

/* ── Pagination ─────────────────────────────────────────────── */
.fnc-archive-pagination {
    padding-top: 3rem !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.75rem !important;
}
.fnc-archive-pagination .wp-block-query-pagination-numbers {
    display: flex;
    gap: 0.25rem;
    align-items: center;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.875rem;
    font-weight: 700;
}
.fnc-archive-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.375rem;
    color: var(--wp--preset--color--on-surface);
    text-decoration: none;
    transition: all .15s;
}
.fnc-archive-pagination .page-numbers:hover {
    background: var(--wp--preset--color--surface-container-low);
}
.fnc-archive-pagination .page-numbers.current {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--on-primary);
}
.fnc-archive-pagination .wp-block-query-pagination-previous,
.fnc-archive-pagination .wp-block-query-pagination-next {
    padding: 0.5rem !important;
    background: var(--wp--preset--color--surface-container-low);
    color: var(--wp--preset--color--on-surface);
    border-radius: var(--fnc-radius-sm);
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    transition: background .15s;
}
.fnc-archive-pagination .wp-block-query-pagination-previous:hover,
.fnc-archive-pagination .wp-block-query-pagination-next:hover {
    background: var(--wp--preset--color--surface-container-high);
}

/* No results */
.fnc-archive-results .wp-block-query-no-results {
    padding: 3rem !important;
    background: var(--wp--preset--color--surface-container-low);
    border-radius: 0.75rem;
    text-align: center;
    color: var(--wp--preset--color--on-surface-variant);
}

@media (max-width: 900px) {
    .fnc-archive-layout { grid-template-columns: 1fr !important; }
    .fnc-archive-sidebar { position: static !important; }
    .fnc-archive-item { grid-template-columns: 1fr !important; gap: 1.5rem !important; padding: 1.5rem !important; }
    .fnc-archive-item-image { aspect-ratio: 16 / 9; }
}

/* Card body */
.fnc-card-body {
    padding: 1.25rem 1.5rem 1.5rem !important;
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.625rem !important;
}

/* Meta row: category + date */
.fnc-card-meta {
    display: flex !important;
    align-items: center !important;
    gap: 0.625rem !important;
    flex-wrap: wrap !important;
    margin-bottom: 0.25rem;
}
.fnc-card-meta .fnc-card-eyebrow,
.fnc-card-meta .fnc-card-eyebrow a {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary, var(--fnc-accent-fg-strong));
    margin: 0;
}
.fnc-card-meta .fnc-card-date {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    color: var(--wp--preset--color--outline, #707a6c);
    letter-spacing: 0.04em;
    margin: 0;
}
/* divider dot between eyebrow and date */
.fnc-card-meta .fnc-card-eyebrow + .fnc-card-date::before {
    content: "·";
    margin-right: 0.5rem;
    color: var(--wp--preset--color--outline-variant, #bfcaba);
}

/* Title — clamp to 3 lines */
.fnc-card-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-card-title a {
    color: var(--wp--preset--color--on-surface, #1b1c1c);
    transition: color .15s;
}
.fnc-card-title a:hover {
    color: var(--wp--preset--color--primary, var(--fnc-accent-fg-strong));
}

/* Excerpt — clamp to 3 lines */
.fnc-card-excerpt,
.fnc-card-excerpt p {
    font-size: 0.875rem !important;
    line-height: 1.55 !important;
    color: var(--wp--preset--color--on-surface-variant, #40493d);
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Header navigation submenu (dropdown) ─────────────────────── */
.wp-block-navigation .has-child > .wp-block-navigation-item__content {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.wp-block-navigation .wp-block-navigation-submenu__toggle .wp-block-navigation__submenu-icon svg {
    fill: currentColor;
    opacity: 0.6;
}
.wp-block-navigation .wp-block-navigation__submenu-container {
    background: #ffffff !important;
    border: 1px solid var(--wp--preset--color--outline-variant, #bfcaba) !important;
    border-radius: 0.5rem !important;
    box-shadow: 0 8px 24px rgba(13, 99, 27, 0.08) !important;
    padding: 0.5rem 0 !important;
    min-width: 180px !important;
    margin-top: 0.5rem !important;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
    padding: 0 !important;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 0.55rem 1.1rem !important;
    font-size: 0.9rem !important;
    color: var(--wp--preset--color--on-surface, #1b1c1c) !important;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
    background: var(--wp--preset--color--surface-container-low, #f6f3f2) !important;
    color: var(--wp--preset--color--primary, var(--fnc-accent-fg-strong)) !important;
}

/* ── 드롭다운 hover 유지 (nav-hover.js 연동) ────────────────────── */
/* JS가 mouseenter 시 .fnc-hover-open 클래스를 부여 → 서브메뉴 표시 */
@media (min-width: 782px) {
    .wp-block-navigation .has-child.fnc-hover-open > .wp-block-navigation__submenu-container {
        display: flex !important;
        flex-direction: column !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
    /* 꺽쇠(toggle) 버튼: hover로 대체되므로 클릭 비활성화 */
    .wp-block-navigation .wp-block-navigation-submenu__toggle {
        pointer-events: none !important;
        cursor: default !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   미디어 센터 — Stitch 디자인 충실 재현
   구조: 좌측 고정 사이드바(256px) + 우측 메인(max-w 1280-256)
   핵심: 모서리 둥글기 없음(sharp), 흰 카드(surface-container-lowest)
         배경 구분(surface-container-low), Material Symbols 아이콘
   ═══════════════════════════════════════════════════════════════ */

/* 미디어 페이지: .fnc-media-wrap 존재 시 WP constrained(820px) + global-padding 해제.
   Why: page ID 기반 하드코딩 회피 — 페이지 재생성돼도 자동 적용 */
body:has(.fnc-media-wrap) .wp-block-post-title,
body:has(.fnc-media-wrap) .entry-title { display: none !important; }
body:has(.fnc-media-wrap) > .wp-site-blocks > main.wp-block-group,
body:has(.fnc-media-wrap) .wp-block-post-content {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body:has(.fnc-media-wrap) .wp-block-post-content > * { max-width: none !important; }

.fnc-media-wrap {
    display: flex;
    align-items: flex-start;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
    min-height: calc(100vh - 80px);
}

/* ── 사이드바 ─────────────────────────────────────────────── */
.fnc-media-sidebar {
    width: 256px;
    min-width: 256px;
    flex-shrink: 0;
    position: sticky;
    top: 80px;
    height: calc(100vh - 80px);
    overflow-y: auto;
    background: var(--wp--preset--color--surface-container-low);
    display: flex;
    flex-direction: column;
    padding: 1rem;
    scrollbar-width: thin;
}
.fnc-media-sidebar::-webkit-scrollbar { width: 4px; }
.fnc-media-sidebar::-webkit-scrollbar-thumb { background: rgba(0,0,0,.1); }

.fnc-media-sidebar__hd {
    padding: 1rem 1rem 0;
    margin-bottom: 2rem;
}
.fnc-media-sidebar__hd h2 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 .25rem 0 !important;
}
.fnc-media-sidebar__hd p {
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
}

.fnc-media-nav {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.fnc-media-nav__item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem;
    border-radius: 4px 0 0 4px;
    font-family: var(--wp--preset--font-family--body);
    font-size: .875rem;
    color: var(--wp--preset--color--on-surface);
    opacity: .6;
    text-decoration: none;
    transition: background .2s, opacity .2s, color .2s;
}
.fnc-media-nav__item:hover {
    background: var(--wp--preset--color--surface-container-high);
    opacity: 1;
    color: var(--wp--preset--color--on-surface);
}
.fnc-media-nav__item--active {
    background: #ffffff !important;
    color: var(--wp--preset--color--primary) !important;
    font-weight: 700 !important;
    opacity: 1 !important;
}
.fnc-media-nav__item .material-symbols-outlined { font-size: 20px; }

.fnc-media-sidebar__ft {
    margin-top: auto;
    padding: 1rem 0 0;
}
.fnc-media-inquiry {
    display: block;
    width: 100%;
    background: var(--wp--preset--color--secondary-container);
    color: var(--wp--preset--color--on-secondary-container) !important;
    text-align: center;
    padding: .5rem 1rem;
    border-radius: 6px;
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity .15s;
}
.fnc-media-inquiry:hover { opacity: .9; }

/* ── 메인 컨텐츠 영역 ───────────────────────────────────────── */
.fnc-media-main {
    flex: 1;
    min-width: 0;
    padding: 2rem;
}
.fnc-media-main > :last-child { margin-bottom: 0; }

@media (max-width: 1023px) {
    .fnc-media-sidebar { display: none; }
    .fnc-media-main { padding: 1.5rem; }
}

/* ── Hero 섹션 ──────────────────────────────────────────── */
.fnc-media-hero {
    background: var(--wp--preset--color--surface-container-low);
    padding: 2rem;
    margin-bottom: 4rem;
    border: none;
    border-radius: 0;
}
@media (min-width: 1024px) {
    .fnc-media-hero { padding: 3rem; }
}

.fnc-media-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .fnc-media-hero__grid { grid-template-columns: 1fr 1fr; }
}

.fnc-media-eyebrow {
    font-family: var(--wp--preset--font-family--label);
    font-size: .75rem;
    font-weight: 500;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--wp--preset--color--secondary);
    display: block;
    margin: 0 0 1rem 0;
}

.fnc-media-hero h1 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 1.5rem 0 !important;
    word-break: keep-all;
}
@media (min-width: 1024px) {
    .fnc-media-hero h1 { font-size: 3rem; }
}

.fnc-media-hero p {
    font-family: var(--wp--preset--font-family--body);
    font-size: 1.125rem;
    line-height: 1.65;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0 0 2rem 0;
    word-break: keep-all;
}

.fnc-media-cta {
    display: inline-block;
    background: linear-gradient(to right, var(--wp--preset--color--primary), var(--wp--preset--color--primary-container));
    color: #ffffff !important;
    font-family: var(--wp--preset--font-family--label);
    font-size: .9375rem;
    font-weight: 600;
    padding: .75rem 2rem;
    border-radius: 6px;
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: opacity .15s;
}
.fnc-media-cta:hover { opacity: .9; color: #ffffff !important; }

.fnc-media-hero__img {
    position: relative;
    width: 100%;
    height: 256px;
    background: var(--wp--preset--color--surface-container-lowest);
    overflow: hidden;
    border-radius: 0;
}
@media (min-width: 1024px) {
    .fnc-media-hero__img { height: 384px; }
}
.fnc-media-hero__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ── 섹션 공통 ──────────────────────────────────────────── */
.fnc-media-sec { margin-bottom: 4rem; }

.fnc-media-sec__hd {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 2rem;
}
.fnc-media-sec__hd h2 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 !important;
}
.fnc-media-sec__link {
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    font-weight: 600;
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    transition: color .15s;
    white-space: nowrap;
}
.fnc-media-sec__link:hover { color: var(--wp--preset--color--primary-container); }

/* ── Press Releases Bento ─────────────────────────────── */
.fnc-pr-bento {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 768px) {
    .fnc-pr-bento { grid-template-columns: repeat(3, 1fr); }
    .fnc-pr-card--featured { grid-column: span 2; }
    .fnc-pr-card--wide     { grid-column: span 2; }
}

.fnc-pr-card {
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 2rem;
    border: none;
    border-radius: 0;
    transition: box-shadow .3s ease;
}
.fnc-pr-card:hover { box-shadow: 0 20px 40px rgba(27,28,28,.05); }

.fnc-pr-meta {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1rem;
}
.fnc-pr-tag {
    font-family: var(--wp--preset--font-family--label);
    font-size: .75rem;
    font-weight: 600;
    padding: .25rem .5rem;
    background: var(--wp--preset--color--surface-container-low);
    color: var(--wp--preset--color--on-surface);
    border-radius: 0;
}
.fnc-pr-date {
    font-family: var(--wp--preset--font-family--label);
    font-size: .75rem;
    color: var(--wp--preset--color--outline);
}

.fnc-pr-card h3 {
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 .75rem 0 !important;
    font-size: 1.125rem;
    line-height: 1.35;
}
.fnc-pr-card--featured h3 {
    font-size: 1.5rem;
    line-height: 1.25;
}
.fnc-pr-card--wide h3 {
    font-size: 1.25rem;
    line-height: 1.3;
}

.fnc-pr-card p {
    font-family: var(--wp--preset--font-family--body);
    font-size: .875rem;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.6;
    margin: 0 0 1.5rem 0;
    word-break: keep-all;
}
.fnc-pr-card--featured p { font-size: 1rem; }

.fnc-pr-link {
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    font-weight: 600;
    color: var(--wp--preset--color--secondary);
    text-decoration: none;
    transition: color .15s;
}
.fnc-pr-link:hover { color: var(--wp--preset--color--primary); }

/* ── Video Gallery (asymmetrical list) ─────────────────── */
.fnc-media-video {
    background: var(--wp--preset--color--surface-container-low);
    padding: 2rem;
    margin-bottom: 4rem;
    border: none;
    border-radius: 0;
}
@media (min-width: 1024px) {
    .fnc-media-video { padding: 3rem; }
}
.fnc-media-video h2 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.875rem;
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 2rem 0 !important;
}

.fnc-video-list { display: flex; flex-direction: column; gap: 1.5rem; }

.fnc-video-item {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 1rem;
    border: none;
    border-radius: 0;
    transition: background .2s;
}
@media (min-width: 768px) {
    .fnc-video-item { flex-direction: row; align-items: center; }
}
.fnc-video-item:hover { background: var(--wp--preset--color--surface); }

.fnc-video-thumb {
    position: relative;
    width: 100%;
    height: 160px;
    flex-shrink: 0;
    background: var(--wp--preset--color--surface-container-high);
    overflow: hidden;
}
@media (min-width: 768px) {
    .fnc-video-thumb { width: 256px; min-width: 256px; }
}
.fnc-video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .8;
    transition: opacity .3s;
}
.fnc-video-item:hover .fnc-video-thumb img { opacity: 1; }

.fnc-play-btn {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fnc-play-btn__circle {
    width: 48px;
    height: 48px;
    background: rgba(13, 99, 27, .8);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
}
.fnc-play-btn__circle .material-symbols-outlined {
    font-size: 28px;
    color: #ffffff;
    font-variation-settings: 'FILL' 1;
}

.fnc-video-body { flex: 1; }
.fnc-video-body h3 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -.01em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 .5rem 0 !important;
    transition: color .15s;
}
.fnc-video-item:hover .fnc-video-body h3 {
    color: var(--wp--preset--color--primary);
}
.fnc-video-body p {
    font-family: var(--wp--preset--font-family--body);
    font-size: .875rem;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.6;
    margin: 0 0 .75rem 0;
    word-break: keep-all;
}
.fnc-video-meta {
    font-family: var(--wp--preset--font-family--label);
    font-size: .75rem;
    color: var(--wp--preset--color--outline);
}
/* ── 시리즈 랜딩 페이지 (예: /farmland-policy/) ─────────────
 * KIFC 팔레트 + 에피소드별 어스톤 그라디언트(변형 4종). */

.fnc-series-header {
    /* 히어로는 중앙 정렬 — 본문 컨테이너의 가로 중앙에 배치. 내부 텍스트는 좌측 정렬 유지. */
    max-width: 880px;
    margin: 0 auto;
    text-align: left;
}
.fnc-series-pill {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    background: var(--wp--preset--color--surface-container-high);
    color: var(--wp--preset--color--on-surface-variant);
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    border-radius: 0.25rem;
    margin: 0 0 1rem 0;
}
.fnc-series-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: clamp(1.75rem, 3.8vw, 2.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em;
    margin: 0 0 1rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-series-lede {
    font-size: clamp(1rem, 1.6vw, 1.1875rem);
    line-height: 1.55;
    color: var(--wp--preset--color--on-surface-variant);
    max-width: 720px;
    margin: 0;
}

/* ── 아티클 헤더 내 시리즈 topbar (h1 아래, meta-row 위) ── */
.fnc-series-topbar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 1rem 0 1.5rem;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-series-topbar__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    background: var(--wp--preset--color--primary-container);
    color: var(--wp--preset--color--on-primary-container);
    border-radius: 0.25rem;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
}
.fnc-series-topbar__title {
    color: var(--wp--preset--color--on-surface);
    font-weight: 700;
}
.fnc-series-topbar__ep::before {
    content: "·";
    margin-right: 0.5rem;
    opacity: 0.4;
}

.fnc-series-intro {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    align-items: start;
}
@media (max-width: 880px) {
    .fnc-series-intro { grid-template-columns: 1fr; gap: 1.5rem; }
}
.fnc-series-lead {
    font-size: 1.0625rem;
    line-height: 1.85;
    color: var(--wp--preset--color--on-surface);
}
.fnc-series-lead p {
    margin: 0 0 1.25rem 0;
}
.fnc-series-lead p:last-child { margin-bottom: 0; }
.fnc-series-highlight {
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    border-bottom: 2px solid rgba(203, 255, 194, 0.5);
    padding-bottom: 1px;
}

.fnc-series-info {
    background: var(--wp--preset--color--surface-container-low);
    padding: 2rem;
    border-radius: 0.75rem;
}
.fnc-series-info-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.0625rem !important;
    font-weight: 700 !important;
    margin: 0 0 1rem 0 !important;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-series-info-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin: 0;
}
.fnc-series-info-list > div {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.fnc-series-info-list dt {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.625rem;
    font-weight: 600;
    color: var(--wp--preset--color--outline);
    text-transform: uppercase;
    letter-spacing: 0.15em;
}
.fnc-series-info-list dd {
    font-weight: 600;
    margin: 0;
    color: var(--wp--preset--color--on-surface);
}

/* ── 에피소드 그리드: 상단 3 카드 + 하단 1 wide (Series Finale) ─── */
.fnc-episode-grid-group {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.fnc-episode-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
@media (max-width: 1024px) {
    .fnc-episode-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
    .fnc-episode-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .fnc-episode-grid-group { gap: 1.5rem; }
}

.fnc-episode-card {
    background: var(--wp--preset--color--surface-container-lowest);
    border-radius: 0.75rem;
    overflow: hidden;
    transition: transform .3s, box-shadow .3s;
    display: flex;
    flex-direction: column;
}
.fnc-episode-card > a,
.fnc-episode-card > .fnc-episode-card-inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-decoration: none !important;
    color: inherit !important;
}
.fnc-episode-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 48px rgba(43, 32, 24, 0.12);
}

/* 커버 영역 — 그라디언트 배경 + 거대 숫자 */
.fnc-episode-cover {
    height: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    position: relative;
}
.fnc-episode-cover-label {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
}
.fnc-episode-num {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 6rem;
    font-weight: 800;
    line-height: 0.9;
    color: rgba(255, 255, 255, 0.88);
    letter-spacing: -0.04em;
}

/* 에피소드 variant — 어스톤 그라디언트 4종 */
.fnc-episode-card--earth  .fnc-episode-cover { background: linear-gradient(135deg, #8B6F47 0%, #2B2018 100%); }
.fnc-episode-card--olive  .fnc-episode-cover { background: linear-gradient(135deg, #556B2F 0%, var(--wp--preset--color--primary-container) 100%); }
.fnc-episode-card--clay   .fnc-episode-cover { background: linear-gradient(135deg, #A0522D 0%, #5D4037 100%); }
.fnc-episode-card--ink    .fnc-episode-cover { background: linear-gradient(135deg, var(--wp--preset--color--on-surface) 0%, var(--wp--preset--color--on-surface-variant) 100%); }

/* Wide variant — Series Finale (full-row horizontal) */
.fnc-episode-card--wide > a,
.fnc-episode-card--wide > .fnc-episode-card-inner {
    display: grid;
    grid-template-columns: minmax(0, 320px) 1fr;
    flex-direction: unset;
}
.fnc-episode-card--wide .fnc-episode-cover {
    height: 100%;
    min-height: 280px;
}
.fnc-episode-card--wide .fnc-episode-body {
    padding: 3rem;
    gap: 1rem;
}
.fnc-episode-card--wide .fnc-episode-title {
    font-size: 1.75rem !important;
    line-height: 1.25 !important;
}
.fnc-episode-card--wide .fnc-episode-desc {
    font-size: 1rem;
    -webkit-line-clamp: unset;
    max-width: 720px;
}
.fnc-episode-card--wide .fnc-episode-footer {
    padding-top: 1.75rem;
}
.fnc-episode-finale {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--wp--preset--color--outline);
    padding-right: 0.875rem;
    margin-right: 0.75rem;
    border-right: 1px solid var(--wp--preset--color--outline-variant);
}
@media (max-width: 720px) {
    .fnc-episode-card--wide > a,
    .fnc-episode-card--wide > .fnc-episode-card-inner {
        grid-template-columns: 1fr;
    }
    .fnc-episode-card--wide .fnc-episode-cover { min-height: 240px; height: 240px; }
    .fnc-episode-card--wide .fnc-episode-body { padding: 1.75rem; }
    .fnc-episode-card--wide .fnc-episode-title { font-size: 1.375rem !important; }
}

.fnc-episode-body {
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1;
}
.fnc-episode-body-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.fnc-episode-eyebrow {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
}
.fnc-episode-status {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 0.2rem 0.55rem;
    border-radius: 9999px;
    background: var(--wp--preset--color--surface-container-high);
    color: var(--wp--preset--color--on-surface-variant);
    text-transform: uppercase;
}
.fnc-episode-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.375rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em;
    margin: 0 !important;
    color: var(--wp--preset--color--on-surface);
    transition: color .2s;
}
.fnc-episode-card:hover .fnc-episode-title {
    color: var(--wp--preset--color--primary);
}
.fnc-episode-desc {
    font-size: 0.875rem;
    line-height: 1.65;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
    word-break: keep-all;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-episode-footer {
    margin-top: auto;
    padding-top: 1.25rem;
    border-top: 1px solid var(--wp--preset--color--outline-variant);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    font-size: 0.75rem;
}
.fnc-episode-hook {
    color: var(--wp--preset--color--on-surface);
    font-weight: 500;
    word-break: keep-all;
    flex: 1;
}
.fnc-episode-read {
    font-family: var(--wp--preset--font-family--label);
    color: var(--wp--preset--color--outline);
    white-space: nowrap;
}

/* ── 매니페스토 콜아웃 (다크 브라운) ─── */
.fnc-manifesto {
    background: #2B2018;
    color: #ffffff;
    border-radius: 1rem;
    padding: clamp(2.5rem, 6vw, 6rem);
    position: relative;
    overflow: hidden;
}
.fnc-manifesto::after {
    content: "";
    position: absolute;
    right: -6rem;
    bottom: -6rem;
    width: 24rem;
    height: 24rem;
    background: rgba(139, 111, 71, 0.18);
    border-radius: 50%;
    filter: blur(48px);
    pointer-events: none;
}
.fnc-manifesto > * { position: relative; z-index: 1; }
.fnc-manifesto-pill {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    background: #8B6F47;
    color: #ffffff;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    border-radius: 0.25rem;
    margin-bottom: 2rem;
}
.fnc-manifesto-quote {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: clamp(2.25rem, 5vw, 3.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.03em;
    margin: 0 0 1.5rem 0 !important;
    border: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    background: transparent !important;
    font-style: normal !important;
    max-width: 720px;
}
.fnc-manifesto-body {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: #d6d1cb;
    max-width: 640px;
    margin: 0 0 2rem 0;
}
.fnc-manifesto-accent {
    color: #c8a87c;
    font-weight: 600;
}
.fnc-manifesto-rule {
    width: 56px;
    height: 3px;
    background: #8B6F47;
    border-radius: 2px;
}

/* ── Related Intelligence 링크 리스트 ─── */
.fnc-series-related {
    max-width: 820px;
}
.fnc-series-related-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 0 1.5rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-series-related-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.fnc-series-related-list > li { margin: 0 !important; }
.fnc-series-related-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: var(--wp--preset--color--surface-container-low);
    border-radius: 0.5rem;
    text-decoration: none !important;
    transition: background .2s, color .2s;
    color: var(--wp--preset--color--on-surface) !important;
    font-size: 1rem;
    line-height: 1.5;
}
.fnc-series-related-list a:hover {
    background: var(--wp--preset--color--surface-container-high);
    color: var(--wp--preset--color--primary) !important;
}
.fnc-series-related-list .material-symbols-outlined {
    color: var(--wp--preset--color--outline);
    transition: transform .2s;
    font-size: 22px;
}
.fnc-series-related-list a:hover .material-symbols-outlined {
    transform: translateX(4px);
    color: var(--wp--preset--color--primary);
}

/* ── 추가 리포트 (RESEARCH/POLICY/IMPACT 리스트) ─────────── */
.fnc-extra-reports {
    max-width: 1080px;
}
.fnc-extra-reports-header {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 1rem;
}
.fnc-extra-reports-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    color: var(--wp--preset--color--on-surface);
    white-space: nowrap;
}
.fnc-extra-reports-rule {
    flex: 1;
    height: 1px;
    background: var(--wp--preset--color--surface-container-highest);
}
.fnc-extra-reports-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.fnc-extra-report-item {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--wp--preset--color--surface-container);
}
.fnc-extra-report-item:last-child { border-bottom: 0; }
.fnc-extra-report-item a {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 0.25rem;
    text-decoration: none !important;
    color: inherit !important;
    transition: color .15s;
}
.fnc-extra-report-item a:hover .fnc-extra-report-title,
.fnc-extra-report-item a:hover .fnc-extra-report-arrow {
    color: var(--wp--preset--color--primary);
}
.fnc-extra-report-body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1;
    min-width: 0;
}
.fnc-extra-report-tag {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--wp--preset--color--primary);
    text-transform: uppercase;
}
.fnc-extra-report-title {
    font-size: 1.0625rem;
    font-weight: 500;
    color: var(--wp--preset--color--on-surface);
    line-height: 1.5;
    transition: color .15s;
    word-break: keep-all;
}
.fnc-extra-report-arrow {
    color: var(--wp--preset--color--outline);
    font-size: 22px;
    transition: color .15s, transform .15s;
}
.fnc-extra-report-item a:hover .fnc-extra-report-arrow {
    transform: translateX(4px);
}
@media (max-width: 640px) {
    .fnc-extra-report-item a { padding: 1.25rem 0.25rem; gap: 1rem; }
    .fnc-extra-report-title { font-size: 0.9375rem; }
}

/* ── KIFC YouTube 슬라이더 ───────────────────────────────── */
.fnc-yt-section {
    max-width: 1200px;
}
.fnc-yt-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}
.fnc-yt-heading {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-yt-channel-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.125rem;
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--on-primary) !important;
    font-family: var(--wp--preset--font-family--headline);
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 0.375rem;
    text-decoration: none !important;
    transition: opacity .15s;
}
.fnc-yt-channel-btn:hover { opacity: 0.9; }
.fnc-yt-channel-btn .material-symbols-outlined { font-size: 18px; }

.fnc-yt-slider {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
@media (max-width: 1024px) {
    .fnc-yt-slider {
        display: flex;
        gap: 1.25rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0.5rem;
    }
    .fnc-yt-slider::-webkit-scrollbar { display: none; }
    .fnc-yt-card { min-width: 280px; flex: 0 0 auto; scroll-snap-align: start; }
}
.fnc-yt-card {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform .2s;
}
.fnc-yt-card:hover { transform: translateY(-3px); }
.fnc-yt-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 0.75rem;
    overflow: hidden;
    margin-bottom: 1rem;
}
.fnc-yt-thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: filter .2s;
}
.fnc-yt-thumb-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;       /* 4:3 hqdefault 를 16:9 로 크롭 — 상하 검은 띠 제거 */
    object-position: center;
    transition: transform .4s;
}
.fnc-yt-card:hover .fnc-yt-thumb-img { transform: scale(1.04); }
/* variant 그라디언트 — 썸네일 로딩 전/실패 시 fallback 배경 */
.fnc-yt-card--earth .fnc-yt-thumb-placeholder,
.fnc-yt-card--earth .fnc-yt-thumb { background: linear-gradient(135deg, #8B6F47 0%, #2B2018 100%); }
.fnc-yt-card--olive .fnc-yt-thumb-placeholder,
.fnc-yt-card--olive .fnc-yt-thumb { background: linear-gradient(135deg, #556B2F 0%, var(--wp--preset--color--primary-container) 100%); }
.fnc-yt-card--clay  .fnc-yt-thumb-placeholder,
.fnc-yt-card--clay  .fnc-yt-thumb { background: linear-gradient(135deg, #A0522D 0%, #5D4037 100%); }
.fnc-yt-play {
    position: relative;
    z-index: 1;
    font-size: 56px !important;
    color: rgba(255, 255, 255, 0.95);
    background: rgba(0, 0, 0, 0.45);
    width: 72px;
    height: 72px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-variation-settings: 'FILL' 1, 'wght' 400;
    transition: transform .2s, background .2s;
    margin: auto;
}
.fnc-yt-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
}
.fnc-yt-card:hover .fnc-yt-play {
    transform: scale(1.08);
    background: var(--wp--preset--color--primary);
}
.fnc-yt-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.0625rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: -0.01em;
    margin: 0 0 0.4rem 0 !important;
    color: var(--wp--preset--color--on-surface);
    transition: color .2s;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: keep-all;
}
.fnc-yt-card:hover .fnc-yt-title {
    color: var(--wp--preset--color--primary);
}
.fnc-yt-meta {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem;
    color: var(--wp--preset--color--outline);
    margin: 0;
}

/* ── 농지 정책(Farmland Policy) 시리즈 포스트 — sepia 톤 콜아웃 세트
 * post + single.html 내 .fnc-prose-academic 내부에서 사용.
 * 본문 H2/H3/p 는 prose-academic 그대로, sepia 는 콜아웃/강조 박스에만. */

.fnc-fl-episode-pill {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: #FAF6EE;
    background: #5C3D1E;
    padding: 0.4rem 0.75rem;
    border-radius: 3px;
    margin-bottom: 1.25rem;
    text-transform: uppercase;
    font-family: var(--wp--preset--font-family--label);
}
.fnc-fl-lead-para {
    font-size: 1.1875rem !important;
    line-height: 1.75 !important;
    color: #3D2E23 !important;
    font-weight: 500 !important;
    margin: 0 0 2.5rem 0 !important;
    padding: 0 0 0 1.25rem !important;
    border-left: 3px solid #A0763E;
    word-break: keep-all;
}

/* 수치 강조 박스 */
.fnc-fl-stat {
    background: #FAF6EE;
    border-left: 4px solid #A0763E;
    padding: 1.25rem 1.5rem;
    margin: 1.75rem 0 !important;
    border-radius: 0 6px 6px 0;
}
.fnc-fl-stat .fnc-fl-stat-num {
    font-size: 2rem;
    font-weight: 800;
    color: #5C3D1E;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin-bottom: 0.4rem;
    display: block;
    font-family: var(--wp--preset--font-family--headline);
}
.fnc-fl-stat .fnc-fl-stat-desc {
    font-size: 0.875rem;
    color: #6B5544;
    line-height: 1.5;
    display: block;
}

/* 인라인 SVG 차트 */
.fnc-fl-chart {
    margin: 2rem 0 !important;
    padding: 1.5rem 0.5rem 0.75rem;
    background: #FBF8F2;
    border: 1px solid #E8DFD3;
    border-radius: 8px;
}
.fnc-fl-chart > svg {
    width: 100%;
    height: auto;
    display: block;
    max-width: 720px;
    margin: 0 auto;
}
.fnc-fl-chart-caption {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem;
    line-height: 1.55;
    color: #6B5544;
    text-align: center;
    padding: 0.75rem 1rem 0.25rem;
    margin: 0 !important;
    word-break: keep-all;
    background: transparent !important;
    font-style: normal !important;
    border-radius: 0 !important;
}

/* 인포그래픽 placeholder (legacy — 사용 시에만) */
.fnc-fl-figure {
    margin: 2rem 0 !important;
    padding: 2.5rem 1.5rem;
    background: #F3F4F6;
    border-radius: 6px;
    text-align: center;
    border: 1px dashed #C9A578;
}
.fnc-fl-figure .label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    color: #A0763E;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    font-family: var(--wp--preset--font-family--label);
}
.fnc-fl-figure .desc {
    font-size: 0.9375rem;
    color: #6B5544;
    margin: 0 !important;
}

/* 인용문 */
.fnc-fl-quote {
    border-left: 4px solid #2B2018;
    padding: 0.25rem 0 0.25rem 1.5rem;
    margin: 1.75rem 0 !important;
    font-size: 1.0625rem;
    color: #3D2E23;
    font-style: italic;
    line-height: 1.75;
}
.fnc-fl-quote p {
    margin: 0 !important;
}
.fnc-fl-quote cite {
    display: block;
    margin-top: 0.625rem;
    font-size: 0.8125rem;
    color: #8B6F47;
    font-style: normal;
    font-weight: 500;
}
.fnc-fl-quote cite::before { content: "— "; }

/* 마무리 박스 (다크) */
.fnc-fl-conclusion {
    background: #2B2018;
    color: #FAF6EE;
    padding: 2rem 2.25rem;
    border-radius: 8px;
    margin: 3rem 0 2rem !important;
}
.fnc-fl-conclusion .label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #C9A578;
    margin-bottom: 0.875rem;
    font-family: var(--wp--preset--font-family--label);
}
.fnc-fl-conclusion p {
    font-size: 1rem !important;
    line-height: 1.8 !important;
    color: #E8DFD3 !important;
    margin: 0 0 0.875rem 0 !important;
}
.fnc-fl-conclusion p:last-child { margin: 0 !important; }
.fnc-fl-conclusion .emphasis {
    color: #FAF6EE;
    font-weight: 600;
}

/* 출처 리스트 */
.fnc-fl-sources {
    margin-top: 1.5rem !important;
    padding-top: 1.5rem;
    border-top: 1px solid #E8DFD3;
    font-size: 0.8125rem;
    color: #8B6F47;
    line-height: 1.7;
}
.fnc-fl-sources ol {
    padding-left: 1.25rem !important;
    margin: 0 !important;
    list-style: decimal !important;
}
.fnc-fl-sources li {
    margin-bottom: 0.4rem !important;
    word-break: keep-all;
}

/* 이전/다음 에피소드 네비 */
.fnc-fl-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem;
    margin: 3rem 0 3.75rem !important;
}
.fnc-fl-nav a {
    background: #FAF6EE;
    border: 1px solid #E8DFD3;
    border-radius: 6px;
    padding: 1.125rem 1.25rem;
    text-decoration: none !important;
    color: #2B2018 !important;
    transition: all 0.2s ease;
    display: block;
}
.fnc-fl-nav a:hover {
    background: #F5EEE3;
    border-color: #A0763E;
    transform: translateY(-2px);
    text-decoration: none !important;
}
.fnc-fl-nav .dir {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #A0763E;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.4rem;
    font-family: var(--wp--preset--font-family--label);
}
.fnc-fl-nav .ttl {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.45;
    color: #2B2018;
    word-break: keep-all;
}
.fnc-fl-nav .prev { text-align: left; }
.fnc-fl-nav .next { text-align: right; }
@media (max-width: 640px) {
    .fnc-fl-nav { grid-template-columns: 1fr; }
    .fnc-fl-stat .fnc-fl-stat-num { font-size: 1.625rem; }
    .fnc-fl-conclusion { padding: 1.5rem; }
    .fnc-fl-lead-para { font-size: 1.0625rem !important; padding-left: 1rem !important; }
}

/* ── 에피소드 카드: 발행일 + 신규 버전 표시 ── */
.fnc-episode-date {
    display: inline-block;
    font-size: 0.6875rem;
    letter-spacing: 0.02em;
    margin-right: 0.5rem;
    font-family: var(--wp--preset--font-family--label);
}
.fnc-episode-badge-text {
    font-weight: 700;
    color: #2d6a2d;
}

/* ── farmland series: ep02+ 추가 컴포넌트 ── */
.fnc-fl-subtitle {
    font-size: 1.125rem;
    color: #6B5544;
    font-weight: 400;
    margin: 0.25rem 0 1.5rem !important;
    line-height: 1.5;
    word-break: keep-all;
}
.fnc-fl-problem-num {
    display: block;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #A0763E;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.375rem;
    font-family: var(--wp--preset--font-family--label);
}
.fnc-fl-problem-num .bar {
    width: 2rem;
    height: 2px;
    background: #A0763E;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5rem;
}
.fnc-fl-law {
    background: #F5EEE3;
    border: 1px solid #D9C7AA;
    padding: 1.125rem 1.375rem;
    margin: 1.5rem 0 !important;
    border-radius: 6px;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: #3D2E23;
}
.fnc-fl-law .law-tag {
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #8B6F47;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    padding: 0.2rem 0.5rem;
    background: #FAF6EE;
    border-radius: 3px;
    font-family: var(--wp--preset--font-family--label);
}
.fnc-fl-law p { margin: 0 !important; font-size: 0.9375rem !important; }
.fnc-fl-takeaway {
    background: #FAF6EE;
    padding: 1rem 1.25rem;
    margin: 1.25rem 0 1.75rem !important;
    border-radius: 6px;
    font-size: 0.875rem;
    line-height: 1.65;
    color: #5C3D1E;
    word-break: keep-all;
}
.fnc-fl-takeaway::before {
    content: "핵심";
    display: inline-block;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #FAF6EE;
    background: #A0763E;
    padding: 0.2rem 0.5rem;
    border-radius: 3px;
    margin-right: 0.625rem;
    vertical-align: middle;
    letter-spacing: 0.08em;
    font-family: var(--wp--preset--font-family--label);
}

/* ── farmland series: ep03 국가카드·비교표 ── */
.fnc-fl-country {
    background: #FAF6EE;
    border-left: 5px solid #A0763E;
    border-radius: 0 8px 8px 0;
    padding: 1.75rem 2rem;
    margin: 2.25rem 0;
}
.fnc-fl-country-head {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 0.375rem;
    flex-wrap: wrap;
}
.fnc-fl-country-flag {
    font-size: 1.375rem;
    font-weight: 800;
    color: #A0763E;
    letter-spacing: 0.08em;
    font-family: var(--wp--preset--font-family--label);
}
.fnc-fl-country-name {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: #2B2018 !important;
    margin: 0 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
}
.fnc-fl-country-mech {
    font-size: 0.9375rem;
    color: #8B6F47;
    font-weight: 600;
    margin: 0 0 1.25rem 0 !important;
    line-height: 1.4;
}
.fnc-fl-country h4 {
    font-size: 0.8125rem !important;
    font-weight: 700 !important;
    color: #5C3D1E !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 1.375rem 0 0.625rem 0 !important;
    font-family: var(--wp--preset--font-family--label) !important;
}
.fnc-fl-keystat {
    background: #FFFFFF;
    padding: 0.875rem 1.125rem;
    margin: 1rem 0 0.625rem;
    border-radius: 6px;
    font-size: 0.875rem;
    line-height: 1.65;
    color: #4D3A2B;
    border: 1px solid #E8DFD3;
}
.fnc-fl-keystat strong { color: #5C3D1E; font-weight: 700; }
.fnc-fl-compare {
    margin: 2.25rem 0;
    border: 1px solid #E8DFD3;
    border-radius: 8px;
    overflow: hidden;
    background: #FFFFFF;
    overflow-x: auto;
}
.fnc-fl-compare-head {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr 1fr;
    background: #2B2018;
    color: #FAF6EE;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    font-family: var(--wp--preset--font-family--label);
    min-width: 560px;
}
.fnc-fl-compare-head > div {
    padding: 0.875rem 0.625rem;
    text-align: center;
    border-right: 1px solid #5C3D1E;
}
.fnc-fl-compare-head > div:last-child { border-right: none; }
.fnc-fl-compare-head > div:first-child { text-align: left; padding-left: 1rem; }
.fnc-fl-compare-row {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr 1fr;
    border-top: 1px solid #E8DFD3;
    font-size: 0.8125rem;
    line-height: 1.5;
    min-width: 560px;
}
.fnc-fl-compare-row > div {
    padding: 0.875rem 0.625rem;
    text-align: center;
    border-right: 1px solid #F0E8DB;
    color: #3D2E23;
}
.fnc-fl-compare-row > div:last-child { border-right: none; }
.fnc-fl-compare-row > div:first-child {
    text-align: left;
    padding-left: 1rem;
    font-weight: 700;
    color: #5C3D1E;
    background: #FAF6EE;
}
@media (max-width: 640px) {
    .fnc-fl-country { padding: 1.375rem 1.25rem; }
    .fnc-fl-country-name { font-size: 1.25rem !important; }
}

/* ── farmland series: ep04 개혁방향·로드맵·예산·Q&A ── */
.fnc-fl-direction-wrap {
    margin: 4rem 0 3rem;
    padding: 2.5rem 2.25rem 2.25rem;
    background: linear-gradient(180deg, #FAF6EE 0%, #FFFFFF 100%);
    border: 1px solid #E8DFD3;
    border-radius: 12px;
    position: relative;
}
.fnc-fl-direction-badge {
    position: absolute; top: -0.875rem; left: 2.25rem;
    background: #2B2018; color: #FAF6EE;
    padding: 0.375rem 1rem; font-size: 0.75rem; font-weight: 700;
    letter-spacing: 0.2em; border-radius: 3px; text-transform: uppercase;
}
.fnc-fl-direction-num {
    display: inline-block; font-size: 0.875rem; font-weight: 700;
    color: #A0763E; letter-spacing: 0.12em; text-transform: uppercase;
    margin-bottom: 0.5rem;
}
.fnc-fl-direction-wrap h2 {
    font-size: 1.75rem !important; font-weight: 800 !important;
    color: #2B2018 !important; margin: 0 0 0.5rem 0 !important;
    line-height: 1.3 !important; letter-spacing: -0.02em !important;
}
.fnc-fl-direction-tagline {
    font-size: 1.0625rem; color: #5C3D1E; font-weight: 600;
    font-style: italic; margin: 0 0 1.5rem 0; line-height: 1.5;
    padding-bottom: 1.25rem; border-bottom: 1px solid #E8DFD3;
}
.fnc-fl-direction-wrap h3 {
    font-size: 0.9375rem !important; font-weight: 700 !important;
    color: #8B6F47 !important; text-transform: uppercase !important;
    letter-spacing: 0.12em !important; margin: 1.75rem 0 0.75rem 0 !important;
    padding-left: 0.75rem !important; border-left: 3px solid #A0763E !important;
}
.fnc-fl-direction-wrap h3:first-of-type { margin-top: 0 !important; }
.fnc-fl-direction-wrap p { font-size: 1rem !important; line-height: 1.8 !important; }
.fnc-fl-reference {
    background: #FFFFFF; border: 1px solid #D9C7AA;
    border-left: 4px solid #A0763E;
    padding: 1rem 1.25rem; margin: 1.125rem 0;
    border-radius: 0 6px 6px 0;
    font-size: 0.875rem; line-height: 1.7; color: #4D3A2B;
}
.fnc-fl-reference::before {
    content: "참조 사례"; display: inline-block;
    font-size: 0.625rem; font-weight: 700; color: #A0763E;
    letter-spacing: 0.15em; text-transform: uppercase;
    margin-right: 0.5rem; padding: 0.125rem 0.5rem;
    background: #F5EEE3; border-radius: 3px; vertical-align: middle;
}
.fnc-fl-reference strong { color: #5C3D1E; font-weight: 700; }
.fnc-fl-roadmap-steps {
    background: #FFFFFF; border: 1px solid #E8DFD3;
    border-radius: 8px; padding: 1.25rem 1.5rem; margin: 0.875rem 0 1.25rem;
}
.fnc-fl-roadmap-steps .step {
    display: grid; grid-template-columns: 7rem 1fr; gap: 1rem;
    padding: 0.75rem 0; border-bottom: 1px dashed #E8DFD3;
    font-size: 0.9375rem; line-height: 1.6;
}
.fnc-fl-roadmap-steps .step:last-child { border-bottom: none; }
.fnc-fl-roadmap-steps .step .phase {
    font-size: 0.75rem; font-weight: 700; color: #FAF6EE;
    padding: 0.25rem 0.625rem; border-radius: 3px;
    letter-spacing: 0.08em; text-transform: uppercase;
    text-align: center; align-self: start; white-space: nowrap;
}
.fnc-fl-roadmap-steps .step .phase.short { background: #8B6F47; }
.fnc-fl-roadmap-steps .step .phase.mid { background: #A0763E; }
.fnc-fl-roadmap-steps .step .phase.long { background: #5C3D1E; }
.fnc-fl-roadmap-steps .step .content { color: #3D2E23; }
.fnc-fl-caveat {
    background: #F5EEE3; border-left: 3px solid #8B6F47;
    padding: 0.875rem 1.125rem; margin: 1rem 0;
    font-size: 0.875rem; line-height: 1.7; color: #4D3A2B;
    border-radius: 0 4px 4px 0;
}
.fnc-fl-caveat::before {
    content: "예상 쟁점"; display: inline-block;
    font-size: 0.6875rem; font-weight: 700; color: #FAF6EE;
    background: #8B6F47; padding: 0.1875rem 0.5rem; border-radius: 3px;
    margin-right: 0.625rem; vertical-align: middle; letter-spacing: 0.08em;
}
.fnc-fl-budget-grid {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 0.875rem; margin: 1.5rem 0;
}
.fnc-fl-budget-card {
    background: #FAF6EE; padding: 1.125rem 1.25rem;
    border-radius: 8px; border: 1px solid #E8DFD3;
}
.fnc-fl-budget-card .amt {
    font-size: 1.375rem; font-weight: 800; color: #5C3D1E;
    letter-spacing: -0.02em; margin-bottom: 0.25rem; line-height: 1.2;
}
.fnc-fl-budget-card .name {
    font-size: 0.8125rem; font-weight: 700; color: #8B6F47;
    letter-spacing: 0.05em; margin-bottom: 0.5rem; text-transform: uppercase;
}
.fnc-fl-budget-card .desc { font-size: 0.8125rem; color: #4D3A2B; line-height: 1.6; }
.fnc-fl-qa {
    margin: 1.5rem 0; padding: 1.25rem 1.5rem;
    background: #FFFFFF; border: 1px solid #E8DFD3; border-radius: 8px;
}
.fnc-fl-qa .q {
    font-size: 1rem; font-weight: 700; color: #2B2018;
    margin-bottom: 0.5rem; line-height: 1.5;
}
.fnc-fl-qa .q::before {
    content: "비판"; display: inline-block;
    font-size: 0.6875rem; font-weight: 700; color: #FAF6EE;
    background: #5C3D1E; padding: 0.1875rem 0.625rem; border-radius: 3px;
    letter-spacing: 0.1em; text-transform: uppercase;
    margin-right: 0.625rem; vertical-align: middle;
}
.fnc-fl-qa .a {
    font-size: 0.9375rem !important; line-height: 1.75 !important;
    color: #3D2E23 !important; margin: 0 !important;
    padding-top: 0.5rem; border-top: 1px dashed #E8DFD3;
}
.fnc-fl-qa .a::before {
    content: "답변"; display: inline-block;
    font-size: 0.6875rem; font-weight: 700; color: #FAF6EE;
    background: #A0763E; padding: 0.1875rem 0.625rem; border-radius: 3px;
    letter-spacing: 0.1em; text-transform: uppercase;
    margin-right: 0.625rem; vertical-align: middle;
}
.fnc-fl-master-roadmap {
    margin: 3rem 0; padding: 2.25rem;
    background: #FAF6EE; border-radius: 12px; border: 1px solid #D9C7AA;
}
.fnc-fl-master-roadmap > h3 {
    font-size: 0.8125rem !important; font-weight: 700 !important;
    color: #5C3D1E !important; text-transform: uppercase !important;
    letter-spacing: 0.15em !important; margin: 0 0 1.25rem 0 !important;
    border-left: none !important; padding-left: 0 !important;
}
.fnc-fl-timeline {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
}
.fnc-fl-timeline-col {
    background: #FFFFFF; padding: 1.25rem;
    border-radius: 8px; border-top: 4px solid;
}
.fnc-fl-timeline-col.short { border-color: #B08254; }
.fnc-fl-timeline-col.mid { border-color: #A0763E; }
.fnc-fl-timeline-col.long { border-color: #5C3D1E; }
.fnc-fl-timeline-col .tl-phase {
    font-size: 0.6875rem; font-weight: 700; color: #8B6F47;
    letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 0.25rem;
}
.fnc-fl-timeline-col .tl-years {
    font-size: 1.25rem; font-weight: 800; color: #2B2018;
    margin-bottom: 0.75rem; letter-spacing: -0.02em;
}
.fnc-fl-timeline-col ul {
    list-style: none !important; padding: 0 !important; margin: 0 !important;
    font-size: 0.875rem; line-height: 1.65; color: #3D2E23;
}
.fnc-fl-timeline-col li {
    padding: 0.375rem 0 0.375rem 0.5rem; position: relative;
    border-bottom: 1px dashed #F0E8DB;
}
.fnc-fl-timeline-col li:last-child { border-bottom: none; }
.fnc-fl-timeline-col li::before { content: "▸"; position: absolute; left: 0; color: #A0763E; }
.fnc-fl-final {
    background: #2B2018; color: #FAF6EE;
    padding: 2.75rem 2.5rem; border-radius: 12px;
    margin: 3.5rem 0 2rem; text-align: center;
}
.fnc-fl-final .label {
    font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2em;
    text-transform: uppercase; color: #C9A578;
    margin-bottom: 1.125rem; display: block;
}
.fnc-fl-final .headline {
    font-size: 1.75rem; font-weight: 800; color: #FAF6EE;
    margin: 0 0 1.25rem 0; line-height: 1.35; letter-spacing: -0.02em;
}
.fnc-fl-final p {
    font-size: 1rem !important; line-height: 1.85 !important;
    color: #E8DFD3 !important; margin: 0 0 0.875rem 0 !important;
    max-width: 35rem; margin-left: auto !important; margin-right: auto !important;
}
.fnc-fl-final p:last-of-type { margin-bottom: 0 !important; }
.fnc-fl-final .emphasis { color: #C9A578; font-weight: 700; }
.fnc-fl-recap {
    background: #F5EEE3; border-radius: 8px;
    padding: 1.5rem 1.75rem; margin: 2rem 0;
}
.fnc-fl-recap h4 {
    font-size: 0.8125rem !important; font-weight: 700 !important;
    color: #5C3D1E !important; text-transform: uppercase !important;
    letter-spacing: 0.12em !important; margin: 0 0 0.875rem 0 !important;
}
.fnc-fl-recap ol {
    padding-left: 1.375rem; margin: 0;
    font-size: 0.9375rem; line-height: 1.75; color: #3D2E23;
}
.fnc-fl-recap ol li { padding: 0.25rem 0; }
.fnc-fl-recap ol li strong { color: #5C3D1E; }
@media (max-width: 640px) {
    .fnc-fl-direction-wrap { padding: 2rem 1.25rem 1.5rem; }
    .fnc-fl-direction-wrap h2 { font-size: 1.375rem !important; }
    .fnc-fl-direction-tagline { font-size: 0.9375rem; }
    .fnc-fl-roadmap-steps .step { grid-template-columns: 1fr; gap: 0.375rem; }
    .fnc-fl-budget-grid { grid-template-columns: 1fr; }
    .fnc-fl-timeline { grid-template-columns: 1fr; gap: 0.75rem; }
    .fnc-fl-final { padding: 2rem 1.5rem; }
    .fnc-fl-final .headline { font-size: 1.375rem; }
}

/* ── Research Pillars (L0 홈 하단 4열 카드 + impact stats) ─── */

.fnc-pillars {
    max-width: 1280px;
    margin: 0 auto;
}
.fnc-pillars-head {
    margin-bottom: 4rem;
}
.fnc-pillars-eyebrow {
    display: block;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
}
.fnc-pillars-heading {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: clamp(2rem, 4.5vw, 3rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    margin: 1rem 0 0 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-pillars-rule {
    width: 96px;
    height: 4px;
    background: var(--wp--preset--color--primary);
    margin-top: 1.5rem;
}

.fnc-pillars-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}
@media (max-width: 1024px) {
    .fnc-pillars-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .fnc-pillars-grid { grid-template-columns: 1fr; gap: 0.75rem; }
}

/* ── Education L1: 기후 위기 시대의 식량 생존 전략 (4-card grid) ── */
.fnc-pillar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}
@media (max-width: 1024px) {
    .fnc-pillar-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .fnc-pillar-grid { grid-template-columns: 1fr; gap: 1rem; }
}
.fnc-pillar-bar {
    height: 4px;
    width: 48px;
    border-radius: 2px;
    margin: 0 0 1.25rem 0;
    background: var(--wp--preset--color--primary);
}
.fnc-pillar-bar--lime { background: #cbffc2; }
.fnc-pillar-bar--teal { background: #7adbe6; }
.fnc-pillar-bar--amber { background: #ffd591; }
.fnc-pillar-tag {
    display: inline-block;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 0.625rem;
}

.fnc-pillar-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    aspect-ratio: 4 / 5;
    padding: 2rem;
    background: var(--wp--preset--color--surface-container-low);
    text-decoration: none !important;
    color: inherit !important;
    transition: background .25s;
}
@media (min-width: 1024px) {
    .fnc-pillar-card { padding: 2.5rem; }
}
@media (max-width: 640px) {
    .fnc-pillar-card { aspect-ratio: auto; padding: 1.75rem; }
}
.fnc-pillar-card:hover {
    background: var(--wp--preset--color--surface-container-lowest);
}

.fnc-pillar-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
}
.fnc-pillar-icon .material-symbols-outlined {
    font-size: 24px;
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
}
.fnc-pillar-icon--primary {
    background: var(--wp--preset--color--primary-container);
    color: var(--wp--preset--color--on-primary-container);
}
.fnc-pillar-icon--primary .material-symbols-outlined {
    color: var(--wp--preset--color--on-primary-container);
}
.fnc-pillar-icon--secondary {
    background: var(--wp--preset--color--secondary-container);
    color: var(--wp--preset--color--on-secondary-container);
}
.fnc-pillar-icon--secondary .material-symbols-outlined {
    color: var(--wp--preset--color--on-secondary-container);
}
.fnc-pillar-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 1rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-pillar-desc {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
    word-break: keep-all;
}
.fnc-pillar-cta {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
    transition: transform .25s;
}
.fnc-pillar-card:hover .fnc-pillar-cta {
    transform: translateX(0.5rem);
}
.fnc-pillar-cta .material-symbols-outlined {
    font-size: 18px;
}

/* Footer with quote + stats */
.fnc-pillars-footer {
    margin-top: 5rem;
    padding-top: 3rem;
    border-top: 1px solid rgba(191, 202, 186, 0.3);
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 3rem;
    flex-wrap: wrap;
}
.fnc-pillars-quote {
    max-width: 28rem;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.875rem;
    font-style: italic;
    line-height: 1.65;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
}
.fnc-pillars-stats {
    display: flex;
    gap: 2rem;
    margin: 0;
}
.fnc-pillars-stats > div {
    text-align: center;
}
.fnc-pillars-stats dt {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.875rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--wp--preset--color--primary);
    line-height: 1;
}
.fnc-pillars-stats dd {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0.5rem 0 0 0;
}
@media (max-width: 720px) {
    .fnc-pillars-footer { flex-direction: column; gap: 2rem; }
    .fnc-pillars-stats { gap: 1.25rem; justify-content: flex-start; }
    .fnc-pillars-stats dt { font-size: 1.5rem; }
}

/* ── 404 page ─────────────────────────────────────────────── */
.fnc-404-card {
    text-align: left;
    max-width: 560px;
    margin: 0 auto;
}
.fnc-404-icon {
    display: block;
    font-size: 3.5rem;
    color: var(--wp--preset--color--primary);
    font-variation-settings: 'FILL' 0, 'wght' 300;
}

/* ── agri-global: issue list + 2x2 bento + reference orgs ────
 * /agricultural-policy/agri-global/ 전용 블록 3종.
 * fnc-impact-card / fnc-kpi / fnc-bento-side 는 재사용. */
.fnc-issue-list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.fnc-issue-item {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
}
.fnc-issue-icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: var(--fnc-radius-md, 0.75rem);
    background: var(--wp--preset--color--secondary-container);
    display: flex;
    align-items: center;
    justify-content: center;
}
.fnc-issue-icon .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 26px;
    color: var(--wp--preset--color--on-secondary-container);
}
.fnc-issue-item h4 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 0.5rem 0 !important;
}
.fnc-issue-item p {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
}

.fnc-issue-bento {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: stretch;
}
.fnc-issue-bento > .fnc-kpi,
.fnc-issue-bento > .fnc-bento-side {
    margin: 0;
    padding: 1.5rem;
    border-radius: 0.75rem;
    min-height: 180px;
}
.fnc-issue-bento .fnc-kpi__num {
    font-size: 3rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    font-style: italic;
}
.fnc-issue-bento .fnc-kpi--dark h4 {
    color: #fff !important;
    font-size: 1.125rem !important;
    margin: 0.5rem 0 !important;
}
.fnc-issue-bento .fnc-kpi--dark p {
    color: rgba(255,255,255,0.82) !important;
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}
.fnc-issue-bento .fnc-bento-side .fnc-pill {
    margin-bottom: 0.75rem;
}
.fnc-issue-bento .fnc-bento-side h4 {
    font-size: 1.125rem !important;
    margin: 0 0 0.5rem !important;
}
.fnc-issue-bento .fnc-bento-side p {
    font-size: 0.875rem !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}
@media (max-width: 640px) {
    .fnc-issue-bento { grid-template-columns: 1fr; }
}

.fnc-ref-orgs {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 2rem 2.5rem;
    opacity: 0.7;
    transition: opacity .5s;
}
.fnc-ref-orgs:hover { opacity: 1; }
.fnc-ref-org {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}
.fnc-ref-org__name {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.125rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--wp--preset--color--on-surface);
}
.fnc-ref-org__meta {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--wp--preset--color--on-surface-variant);
    text-transform: uppercase;
}
@media (max-width: 768px) {
    .fnc-ref-orgs { gap: 1.25rem 2rem; justify-content: flex-start; }
    .fnc-ref-org__name { font-size: 1rem; }
}

/* ── Policy Proposals 페이지 CSS 변수 ───────────────────────── */
:root {
  --pp-primary:    #6d28d9;
  --pp-primary-dk: #4c1d95;
  --pp-primary-md: #7c3aed;
  --pp-accent:     #ede9fe;
  --pp-accent-dk:  #4c1d95;
  --pp-slate-900:  #181c20;
  --pp-slate-700:  #3e4949;
  --pp-slate-500:  #6e7979;
  --pp-slate-400:  #8fa3b0;
  --pp-slate-300:  #bdc9c8;
  --pp-slate-200:  #dfe3e8;
  --pp-slate-100:  #ebeef4;
  --pp-slate-50:   #f6f8fa;
  --pp-bg:         #f7f9ff;
  --pp-white:      #ffffff;
  --pp-radius-lg:  0.75rem;
  --pp-radius-md:  0.5rem;
  --pp-shadow-sm:  0 1px 3px rgba(0,101,101,0.05);
  --pp-shadow-md:  0 10px 40px rgba(0,101,101,0.06);
  --pp-shadow-xl:  0 20px 50px rgba(0,101,101,0.14);
  --pp-transition: 0.28s cubic-bezier(0.4,0,0.2,1);
}
}
.pp-page, .pp-page *, .pp-page *::before, .pp-page *::after { box-sizing: border-box; }
.pp-page {
  font-family: Inter, 'Pretendard Variable', 'Pretendard', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif !important;
  color: var(--pp-slate-900) !important;
  background: var(--pp-bg) !important;
  -webkit-font-smoothing: antialiased;
  padding: 0 !important;
}
.pp-page .pp-container { max-width: 1280px; margin: 0 auto; padding: 0 var(--wp--preset--spacing--70, 40px); }

/* ── Hero ─────────────────────────────────────────────────── */
.pp-page .pp-hero { padding: 80px 0 64px; }
.pp-page .pp-hero-inner {
  display: flex;
  flex-direction: row;
  gap: 48px;
  align-items: flex-end;
}
.pp-page .pp-hero-main { flex: 1; min-width: 0; }
.pp-page .pp-hero-eyebrow {
  color: var(--pp-accent-dk) !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase;
  font-size: 13px !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.4 !important;
}
.pp-page .pp-hero h1 {
  font-family: inherit !important;
  font-size: clamp(2.4rem, 4.5vw, 3.75rem) !important;
  font-weight: 800 !important;
  color: var(--pp-primary) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
  margin: 0 0 28px 0 !important;
}
.pp-page .pp-hero h1 .pp-hero-en {
  display: block;
  font-size: 0.48em !important;
  font-weight: 300 !important;
  color: var(--pp-slate-400) !important;
  letter-spacing: -0.01em !important;
  margin-top: 10px !important;
  line-height: 1.3 !important;
}
.pp-page .pp-hero-lead {
  font-size: 18px !important;
  color: var(--pp-slate-700) !important;
  line-height: 1.7 !important;
  max-width: 640px !important;
  margin: 0 !important;
  font-weight: 400 !important;
}
.pp-page .pp-hero-cta { flex-shrink: 0; }
.pp-page .pp-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 28px;
  background: var(--pp-primary) !important;
  color: var(--pp-white) !important;
  border-radius: var(--pp-radius-lg);
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  transition: all var(--pp-transition);
  font-family: inherit !important;
  line-height: 1.4 !important;
  white-space: nowrap;
}
.pp-page .pp-btn-primary:hover {
  background: var(--pp-primary-md) !important;
  transform: translateY(-1px);
  box-shadow: var(--pp-shadow-md);
  color: var(--pp-white) !important;
  text-decoration: none !important;
}
.pp-page .pp-btn-primary .material-symbols-outlined { font-size: 20px !important; }

/* ── Bento grid ───────────────────────────────────────────── */
.pp-page .pp-bento {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 28px;
  padding-bottom: 96px;
}
.pp-page .pp-bento-card {
  border-radius: var(--pp-radius-lg);
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 460px;
}
.pp-page .pp-bento-card.pp-card-light {
  background: var(--pp-white);
  box-shadow: var(--pp-shadow-md);
}
.pp-page .pp-bento-card.pp-card-dark {
  background: linear-gradient(145deg, var(--pp-primary-dk) 0%, var(--pp-primary) 100%);
  color: var(--pp-white);
  box-shadow: var(--pp-shadow-xl);
  position: relative;
  overflow: hidden;
}
.pp-page .pp-bento-badge {
  display: inline-block;
  background: var(--pp-accent);
  color: var(--pp-accent-dk);
  padding: 5px 14px;
  border-radius: 999px;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 24px !important;
  line-height: 1.4 !important;
}
.pp-page .pp-bento-card h2 {
  font-family: inherit !important;
  font-size: clamp(1.6rem, 2.4vw, 2rem) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 20px 0 !important;
}
.pp-page .pp-bento-card.pp-card-light h2 { color: var(--pp-primary) !important; }
.pp-page .pp-bento-card.pp-card-dark h2  { color: var(--pp-white) !important; }
.pp-page .pp-bento-card p {
  font-size: 16px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}
.pp-page .pp-bento-card.pp-card-light p { color: var(--pp-slate-700) !important; }
.pp-page .pp-bento-card.pp-card-dark p  { color: rgba(255,255,255,0.88) !important; }
.pp-page .pp-bento-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid var(--pp-slate-200);
}
.pp-page .pp-bento-card.pp-card-dark .pp-bento-foot {
  border-top-color: rgba(255,255,255,0.15);
}
.pp-page .pp-bento-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--pp-primary) !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  transition: border-color var(--pp-transition);
  line-height: 1.4 !important;
}
.pp-page .pp-bento-link:hover { border-bottom-color: var(--pp-primary); }
.pp-page .pp-bento-link .material-symbols-outlined { font-size: 16px !important; }
.pp-page .pp-bento-card.pp-card-dark .pp-bento-link {
  color: var(--pp-accent) !important;
}
.pp-page .pp-bento-card.pp-card-dark .pp-bento-link:hover {
  border-bottom-color: var(--pp-accent);
}
.pp-page .pp-bento-dark-inner { position: relative; z-index: 1; }
.pp-page .pp-bottom-cta-wrap  { padding-top: 0; padding-bottom: 0; }

.pp-page .pp-bento-icon-decor {
  position: absolute;
  top: 44px;
  right: 44px;
  font-size: 52px !important;
  color: var(--pp-accent);
  opacity: 0.45;
  font-variation-settings: 'FILL' 1;
  line-height: 1 !important;
}
.pp-page .pp-bento-quarter {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em;
  line-height: 1.4 !important;
}
.pp-page .pp-bento-card.pp-card-light .pp-bento-quarter { color: var(--pp-slate-400) !important; }
.pp-page .pp-bento-card.pp-card-dark  .pp-bento-quarter { color: rgba(255,255,255,0.5) !important; }

/* ── Categories sidebar + Proposal list ──────────────────── */
.pp-page .pp-section {
  background: var(--pp-bg);
  padding: 72px 0;
}
.pp-page .pp-section-inner {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 56px;
}

/* ── Policy Pillars 4-card grid ──────────────────────────── */
.pp-page .pp-pillars-wrap {
  background: var(--pp-bg);
  padding: 72px 0 24px;
}
.pp-page .pp-pillars-head {
  text-align: center;
  margin-bottom: 3rem;
}
.pp-page .pp-pillars-head .pp-eyebrow {
  display: block;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--pp-accent-dk) !important;
  margin-bottom: 0.75rem !important;
}
.pp-page .pp-pillars-head h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--pp-primary) !important;
  margin: 0 !important;
}
.pp-page .pp-pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media (max-width: 1024px) { .pp-page .pp-pillars { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .pp-page .pp-pillars { grid-template-columns: 1fr; } }
.pp-page .pp-pillar {
  background: var(--pp-white);
  border-radius: var(--pp-radius-lg);
  padding: 2rem;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background var(--pp-transition), box-shadow var(--pp-transition);
  text-decoration: none !important;
  color: inherit !important;
}
.pp-page .pp-pillar:hover {
  background: var(--pp-slate-50);
  box-shadow: 0 20px 50px rgba(109,40,217,0.08);
}
.pp-page .pp-pillar__bar {
  height: 4px;
  width: 3rem;
  border-radius: 999px;
  margin-bottom: 1.75rem;
  transition: width var(--pp-transition);
}
.pp-page .pp-pillar:hover .pp-pillar__bar { width: 5rem; }
.pp-page .pp-pillar__bar--accent { background: var(--pp-accent); }
.pp-page .pp-pillar__bar--primary { background: var(--pp-primary); }
.pp-page .pp-pillar h3 {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--pp-slate-900) !important;
  line-height: 1.3 !important;
  margin: 0 0 0.875rem !important;
}
.pp-page .pp-pillar p {
  font-size: 0.9rem !important;
  color: var(--pp-slate-700) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  flex: 1;
}
.pp-page .pp-pillar__cta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--pp-primary) !important;
  margin-top: 1.5rem;
  opacity: 0;
  transition: opacity var(--pp-transition);
}
.pp-page .pp-pillar__cta .material-symbols-outlined { font-size: 1rem !important; }
.pp-page .pp-pillar:hover .pp-pillar__cta { opacity: 1; }

/* ── Policy Report List (새 디자인) ──────────────────────── */
.pp-page .pp-report-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.pp-page .pp-report-section-head h3 {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: var(--pp-slate-900) !important;
  margin: 0 !important;
}
.pp-page .pp-report-section-head p {
  font-size: 0.875rem !important;
  color: var(--pp-slate-500) !important;
  margin: 0 !important;
}
.pp-page .pp-report-list {
  background: var(--wp--preset--color--surface-container-low, #f6f3f2);
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.pp-page .pp-report-item {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  background: var(--wp--preset--color--surface-container-lowest, #fff);
  padding: 1.75rem 2rem;
  border-top: 1px solid var(--wp--preset--color--surface-container, #f0eded);
  text-decoration: none !important;
  color: inherit !important;
  transition: background 0.2s;
}
.pp-page .pp-report-item:first-child { border-top: none; }
.pp-page .pp-report-item:hover { background: var(--wp--preset--color--surface-container-low, #f6f3f2); }
.pp-page .pp-report-item__date {
  flex-shrink: 0;
  width: 7rem;
  font-size: 0.8125rem !important;
  color: var(--pp-slate-500) !important;
  font-weight: 500 !important;
  opacity: 0.8;
}
.pp-page .pp-report-item__tag {
  flex-shrink: 0;
  width: 8.5rem;
}
.pp-page .pp-report-item__tag span {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(109,40,217,0.09);
  color: var(--pp-primary) !important;
  border-radius: 0.125rem;
}
.pp-page .pp-report-item__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
}
.pp-page .pp-report-item__title {
  font-size: 1.0625rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.4 !important;
  color: var(--pp-slate-900) !important;
  transition: color 0.2s;
  margin: 0 !important;
}
.pp-page .pp-report-item:hover .pp-report-item__title { color: var(--pp-primary) !important; }
.pp-page .pp-report-item__summary {
  font-size: 0.8125rem !important;
  color: var(--pp-slate-500) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pp-page .pp-report-item__arrow {
  flex-shrink: 0;
  color: var(--pp-primary) !important;
  font-size: 1.25rem !important;
  opacity: 0;
  transition: opacity 0.2s, transform 0.2s;
}
.pp-page .pp-report-item:hover .pp-report-item__arrow {
  opacity: 1;
  transform: translateX(4px);
}
@media (max-width: 768px) {
  .pp-page .pp-report-item { flex-wrap: wrap; }
  .pp-page .pp-report-item__date { width: auto; }
  .pp-page .pp-report-item__tag { width: auto; }
  .pp-page .pp-report-item__arrow { display: none; }
}
.pp-page .pp-cats-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--pp-slate-400) !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 24px 0 !important;
  line-height: 1.4 !important;
}
.pp-page .pp-cats { list-style: none; margin: 0; padding: 0; }
.pp-page .pp-cat  { margin: 0 0 10px 0 !important; padding: 0; }
.pp-page .pp-cat-btn {
  width: 100%;
  text-align: left;
  padding: 14px 16px;
  border-radius: var(--pp-radius-md);
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-family: inherit !important;
  transition: all var(--pp-transition);
}
.pp-page .pp-cat-btn:hover { background: var(--pp-white); }
.pp-page .pp-cat-btn.active {
  background: var(--pp-white);
  border-left-color: var(--pp-primary);
  box-shadow: var(--pp-shadow-sm);
}
.pp-page .pp-cat-label {
  font-size: 13.5px !important;
  color: var(--pp-slate-700) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
.pp-page .pp-cat-btn.active .pp-cat-label {
  color: var(--pp-primary) !important;
  font-weight: 700 !important;
}
.pp-page .pp-cat-arrow {
  color: var(--pp-slate-300) !important;
  font-size: 18px !important;
  flex-shrink: 0;
  transition: transform var(--pp-transition);
}
.pp-page .pp-cat-btn.active .pp-cat-arrow { color: var(--pp-primary) !important; }
.pp-page .pp-cat-btn:hover  .pp-cat-arrow { transform: translateX(2px); }

/* List */
.pp-page .pp-list-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 20px;
  margin-bottom: 40px !important;
  border-bottom: 1px solid var(--pp-slate-200);
}
.pp-page .pp-list-title {
  font-family: inherit !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--pp-primary) !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.pp-page .pp-list-count {
  color: var(--pp-slate-400) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}
.pp-page .pp-items { list-style: none; margin: 0; padding: 0; }
.pp-page .pp-item {
  padding: 28px 0;
  border-bottom: 1px solid var(--pp-slate-200);
  margin: 0 !important;
  cursor: pointer;
}
.pp-page .pp-item:last-child { border-bottom: none; }
.pp-page .pp-item-row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 12px;
}
.pp-page .pp-item-body  { flex: 1; min-width: 0; }
.pp-page .pp-item-title {
  font-family: inherit !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: var(--pp-slate-900) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.4 !important;
  margin: 0 0 10px 0 !important;
  transition: color var(--pp-transition);
}
.pp-page .pp-item:hover .pp-item-title { color: var(--pp-primary) !important; }
.pp-page .pp-item-summary {
  color: var(--pp-slate-700) !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  max-width: 62ch;
}
.pp-page .pp-item-arrow {
  color: var(--pp-slate-300) !important;
  font-size: 22px !important;
  flex-shrink: 0;
  margin-top: 2px;
  transition: color var(--pp-transition), transform var(--pp-transition);
}
.pp-page .pp-item:hover .pp-item-arrow {
  color: var(--pp-primary) !important;
  transform: translateX(3px);
}
.pp-page .pp-item-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.pp-page .pp-tag {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  color: var(--pp-slate-500) !important;
  background: var(--pp-white);
  border: 1px solid var(--pp-slate-200);
  padding: 4px 10px;
  border-radius: 999px;
  line-height: 1.4 !important;
}
.pp-page .pp-tag-primary {
  background: #e3fffe;
  border-color: var(--pp-primary-md);
  color: var(--pp-primary) !important;
}
.pp-page .pp-tag-accent {
  background: #f3ffe8;
  border-color: #a3c944;
  color: var(--pp-accent-dk) !important;
}

/* ── Bottom CTA ───────────────────────────────────────────── */
.pp-page .pp-bottom-cta {
  background: linear-gradient(135deg, var(--pp-primary-dk) 0%, var(--pp-primary) 100%);
  color: var(--pp-white);
  padding: 72px 48px;
  border-radius: var(--pp-radius-lg);
  text-align: center;
  margin: 80px auto 64px;
  max-width: 1100px;
}
.pp-page .pp-bottom-cta h3 {
  font-family: inherit !important;
  font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
  font-weight: 700 !important;
  color: var(--pp-white) !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
}
.pp-page .pp-bottom-cta p {
  font-size: 16px !important;
  color: rgba(255,255,255,0.85) !important;
  margin: 0 0 28px 0 !important;
  line-height: 1.7 !important;
}
.pp-page .pp-bottom-cta-btns {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.pp-page .pp-btn-alt {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  background: var(--pp-white);
  color: var(--pp-primary) !important;
  border-radius: var(--pp-radius-lg);
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  transition: all var(--pp-transition);
  font-family: inherit !important;
  line-height: 1.4 !important;
}
.pp-page .pp-btn-alt:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  text-decoration: none !important;
}
.pp-page .pp-btn-alt .material-symbols-outlined { font-size: 18px !important; }
.pp-page .pp-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  background: rgba(255,255,255,0.08);
  color: var(--pp-white) !important;
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: var(--pp-radius-lg);
  font-weight: 600 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: all var(--pp-transition);
  font-family: inherit !important;
  line-height: 1.4 !important;
}
.pp-page .pp-btn-ghost:hover {
  background: rgba(255,255,255,0.18);
  text-decoration: none !important;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 960px) {
  .pp-page .pp-container   { padding: 0 32px; }
  .pp-page .pp-bento       { grid-template-columns: 1fr; gap: 20px; }
  .pp-page .pp-bento-card  { min-height: 0; padding: 36px; }
  .pp-page .pp-hero-inner  { flex-direction: column; align-items: flex-start; gap: 32px; }
  .pp-page .pp-section-inner { grid-template-columns: 180px 1fr; gap: 32px; }
}
@media (max-width: 720px) {
  .pp-page .pp-section-inner { grid-template-columns: 150px 1fr; gap: 24px; }
  .pp-page .pp-cat-label   { font-size: 12.5px !important; }
  .pp-page .pp-cat-btn     { padding: 12px 12px; }
}
@media (max-width: 540px) {
  .pp-page .pp-container   { padding: 0 20px; }
  .pp-page .pp-hero        { padding: 48px 0 36px; }
  .pp-page .pp-hero h1     { font-size: 2rem !important; }
  .pp-page .pp-bento-card  { padding: 28px; }
  .pp-page .pp-bento-icon-decor { top: 28px; right: 28px; font-size: 36px !important; }
  .pp-page .pp-section     { padding: 56px 0; }
  .pp-page .pp-section-inner { grid-template-columns: 1fr; gap: 40px; }
  .pp-page .pp-list-head   { flex-direction: column; align-items: flex-start; gap: 8px; }
  .pp-page .pp-bottom-cta  { padding: 44px 22px; margin: 40px 12px; }
  .pp-page .pp-cat-label   { font-size: 13.5px !important; }
}

/* ═══════════════════════════════════════════════════════════
   지속 가능한 식생활 입문 — .sd-page (scoped)
   ═══════════════════════════════════════════════════════════ */
.sd-page {
  --sd-primary:    #006565;
  --sd-primary-dk: #004f4f;
  --sd-primary-md: #008080;
  --sd-secondary:  #00696e;
  --sd-accent:     #ccf067;
  --sd-accent-dk:  #4c6200;
  --sd-white:      #ffffff;
  --sd-bg:         #f7f9ff;
  --sd-surface:    #ebeef4;
  --sd-surface-lo: #f1f4fa;
  --sd-ink:        #181c20;
  --sd-ink-2:      #3e4949;
  --sd-ink-3:      #6e7979;
  --sd-border:     #dfe3e8;
  --sd-radius-xl:  1.5rem;
  --sd-radius-lg:  0.75rem;
  --sd-radius-md:  0.5rem;
  --sd-shadow-md:  0 10px 40px rgba(0,101,101,0.07);
  --sd-shadow-xl:  0 20px 60px rgba(0,101,101,0.14);
  --sd-trans:      0.25s cubic-bezier(0.4,0,0.2,1);
}
.sd-page, .sd-page *, .sd-page *::before, .sd-page *::after { box-sizing: border-box; }
.sd-page {
  font-family: Inter, 'Pretendard Variable', 'Noto Sans KR', -apple-system, sans-serif !important;
  color: var(--sd-ink) !important;
  background: var(--sd-bg) !important;
  -webkit-font-smoothing: antialiased;
  padding: 0 !important;
}
.sd-page .sd-wrap { max-width: 1180px; margin: 0 auto; padding: 0 40px; }
.sd-page .sd-wrap--narrow { max-width: 840px; margin: 0 auto; padding: 0 40px; }

/* ── 섹션 공통 ─────────────────────────────────────────── */
.sd-page .sd-section { padding: 88px 0; }
.sd-page .sd-section--alt { background: var(--sd-surface-lo); }
.sd-page .sd-section--dark { background: var(--sd-primary-dk); }
.sd-page .sd-eyebrow {
  display: inline-block;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sd-accent-dk) !important;
  margin: 0 0 1rem 0 !important;
  line-height: 1.4 !important;
}
.sd-page h2.sd-h2 {
  font-family: inherit !important;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  color: var(--sd-primary) !important;
  line-height: 1.15 !important;
  margin: 0 0 1rem 0 !important;
}
.sd-page .sd-lead {
  font-size: 1.125rem !important;
  color: var(--sd-ink-2) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ── Hero ──────────────────────────────────────────────── */
.sd-page .sd-hero {
  padding: 80px 0 72px;
  background: #0d2c2c;
  position: relative;
  overflow: hidden;
}
.sd-page .sd-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; }
.sd-page .sd-hero::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(5,25,25,0.72) 0%, rgba(0,50,30,0.55) 100%);
  pointer-events: none;
  z-index: 1;
}
.sd-page .sd-hero-inner { position: relative; z-index: 2; }
.sd-page .sd-hero .sd-eyebrow { color: var(--sd-accent) !important; }
.sd-page .sd-hero h1 {
  font-family: inherit !important;
  font-size: clamp(2.5rem, 5vw, 4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  color: #ffffff !important;
  line-height: 1.1 !important;
  margin: 0 0 1.25rem 0 !important;
}
.sd-page .sd-hero h1 em {
  font-style: normal;
  color: var(--sd-accent);
  text-decoration: underline;
  text-decoration-color: var(--sd-accent);
  text-underline-offset: 6px;
  text-decoration-thickness: 3px;
}
.sd-page .sd-hero-sub {
  font-size: 1.3rem !important;
  color: rgba(255,255,255,0.88) !important;
  line-height: 1.6 !important;
  max-width: 600px;
  margin: 0 0 2.25rem 0 !important;
}
.sd-page .sd-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.sd-page .sd-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 28px;
  border-radius: var(--sd-radius-lg);
  font-weight: 700 !important; font-size: 15px !important;
  text-decoration: none !important; border: none; cursor: pointer;
  font-family: inherit !important; line-height: 1.4 !important;
  transition: all var(--sd-trans);
}
.sd-page .sd-btn--primary { background: var(--sd-primary); color: var(--sd-white) !important; box-shadow: var(--sd-shadow-md); }
.sd-page .sd-btn--primary:hover { background: var(--sd-primary-md); transform: translateY(-1px); color: var(--sd-white) !important; text-decoration: none !important; }
.sd-page .sd-btn--ghost { background: var(--sd-surface); color: var(--sd-ink) !important; }
.sd-page .sd-btn--ghost:hover { background: var(--sd-border); text-decoration: none !important; }
.sd-page .sd-btn .material-symbols-outlined { font-size: 18px !important; }

/* ── 식품 시스템 Why 섹션 ──────────────────────────────── */
.sd-page .sd-why-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: center;
}
.sd-page .sd-why-text p {
  font-size: 1.05rem !important; color: var(--sd-ink-2) !important;
  line-height: 1.75 !important; margin: 0 0 1.25rem 0 !important;
}
.sd-page .sd-why-text strong { color: var(--sd-primary) !important; font-weight: 700 !important; }
.sd-page .sd-chart-card {
  background: var(--sd-white);
  border-radius: var(--sd-radius-xl);
  padding: 36px;
  box-shadow: var(--sd-shadow-md);
}
.sd-page .sd-chart-card-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 1.75rem; }
.sd-page .sd-chart-card-head h3 {
  font-family: inherit !important;
  font-size: 1.05rem !important; font-weight: 700 !important;
  color: var(--sd-ink) !important; margin: 0 !important; line-height: 1.4 !important;
}
.sd-page .sd-chart-card-unit { font-size: 11px !important; color: var(--sd-ink-3) !important; }
.sd-page .sd-bar-row { margin-bottom: 1.1rem; }
.sd-page .sd-bar-row:last-child { margin-bottom: 0; }
.sd-page .sd-bar-label { display: flex; justify-content: space-between; font-size: 13px !important; color: var(--sd-ink-2) !important; margin-bottom: 6px !important; line-height: 1.4 !important; }
.sd-page .sd-bar-label strong { font-weight: 700 !important; color: var(--sd-ink) !important; }
.sd-page .sd-bar-track { height: 10px; background: var(--sd-surface); border-radius: 999px; overflow: hidden; }
.sd-page .sd-bar-fill { height: 100%; border-radius: 999px; transition: width 1s ease; }
.sd-page .sd-bar-fill--1 { background: var(--sd-primary); }
.sd-page .sd-bar-fill--2 { background: var(--sd-secondary); }
.sd-page .sd-bar-fill--3 { background: #617c00; }
.sd-page .sd-bar-fill--4 { background: var(--sd-border); }
.sd-page .sd-chart-source { font-size: 11px !important; color: var(--sd-ink-3) !important; text-align: center; margin-top: 1.5rem !important; font-style: italic; }

/* ── 진단 Quiz ─────────────────────────────────────────── */
.sd-page .sd-quiz-wrap {
  max-width: 760px; margin: 0 auto;
  background: var(--sd-white);
  border-radius: 2rem;
  padding: 52px;
  box-shadow: var(--sd-shadow-xl);
  position: relative; overflow: hidden;
}
.sd-page .sd-quiz-wrap::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0;
  width: 4px; background: var(--sd-accent);
}
.sd-page .sd-quiz-step { display: none; }
.sd-page .sd-quiz-step.active { display: block; }
.sd-page .sd-quiz-q-num { font-size: 11px !important; font-weight: 800 !important; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sd-primary) !important; margin: 0 0 1rem 0 !important; }
.sd-page .sd-quiz-q-text { font-family: inherit !important; font-size: 1.4rem !important; font-weight: 700 !important; color: var(--sd-ink) !important; line-height: 1.4 !important; margin: 0 0 1.5rem 0 !important; }
.sd-page .sd-quiz-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 2rem; }
.sd-page .sd-quiz-opt {
  padding: 16px 20px;
  border: 2px solid var(--sd-border);
  border-radius: var(--sd-radius-lg);
  font-size: 14.5px !important; font-weight: 500 !important;
  color: var(--sd-ink) !important; background: var(--sd-bg);
  cursor: pointer; text-align: left;
  font-family: inherit !important; line-height: 1.45 !important;
  transition: all var(--sd-trans); display: flex; justify-content: space-between; align-items: center;
}
.sd-page .sd-quiz-opt:hover { border-color: var(--sd-primary); background: rgba(0,101,101,0.04); }
.sd-page .sd-quiz-opt.selected { border-color: var(--sd-primary); background: rgba(0,101,101,0.06); font-weight: 700 !important; }
.sd-page .sd-quiz-opt .material-symbols-outlined { font-size: 18px !important; opacity: 0; transition: opacity var(--sd-trans); color: var(--sd-primary) !important; }
.sd-page .sd-quiz-opt.selected .material-symbols-outlined { opacity: 1; }
.sd-page .sd-quiz-foot { display: flex; justify-content: space-between; align-items: center; padding-top: 1.5rem; border-top: 1px solid var(--sd-border); }
.sd-page .sd-quiz-dots { display: flex; gap: 8px; }
.sd-page .sd-quiz-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--sd-border); }
.sd-page .sd-quiz-dot.active { background: var(--sd-primary); }
.sd-page .sd-quiz-result { text-align: center; }
.sd-page .sd-quiz-result .sd-score-label { font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: 0.14em; color: var(--sd-primary) !important; margin-bottom: 0.5rem !important; }
.sd-page .sd-quiz-result .sd-score-num { font-size: 4rem !important; font-weight: 800 !important; color: var(--sd-primary) !important; line-height: 1 !important; margin: 0 0 0.5rem 0 !important; }
.sd-page .sd-quiz-result .sd-score-desc { font-size: 1.1rem !important; color: var(--sd-ink-2) !important; line-height: 1.6 !important; max-width: 480px; margin: 0 auto 1rem !important; }
.sd-page .sd-quiz-tier { font-size: 1.3rem !important; font-weight: 700 !important; color: var(--sd-ink) !important; margin: 0 0 0.75rem 0 !important; }
.sd-page .sd-quiz-co2 { background: var(--sd-surface-lo); border-radius: 0.75rem; padding: 1.25rem 1.5rem; margin: 1.25rem auto !important; max-width: 400px; }
.sd-page .sd-co2-num { display: block; font-size: 2.25rem; font-weight: 800; color: var(--sd-primary); line-height: 1; }
.sd-page .sd-co2-unit { display: block; font-size: 0.8rem; color: var(--sd-ink-3); margin: 0.2rem 0 0.5rem; }
.sd-page .sd-co2-eq { display: block; font-size: 0.85rem; color: var(--sd-ink-2); font-weight: 500; }
.sd-page .sd-co2-msg { display: block; font-size: 1rem; color: var(--sd-ink-2); }
.sd-page .sd-quiz-tip { background: var(--sd-accent-light, #f0f9f0); border-left: 3px solid var(--sd-primary); border-radius: 0 0.5rem 0.5rem 0; padding: 0.75rem 1rem; margin: 0 auto 1.5rem !important; max-width: 440px; text-align: left; }
.sd-page .sd-quiz-tip p { font-size: 0.9rem !important; color: var(--sd-ink-2) !important; margin: 0 !important; line-height: 1.6 !important; }
.sd-page .sd-quiz-result-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 1.5rem; }

/* ── 핵심 키워드 개념 카드 그리드 ──────────────────────── */
.sd-page .sd-concepts-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: auto auto;
  gap: 20px;
}
.sd-page .sd-concept-card {
  background: var(--sd-white);
  border-radius: var(--sd-radius-xl);
  padding: 36px;
  transition: transform var(--sd-trans), box-shadow var(--sd-trans);
}
.sd-page .sd-concept-card:hover { transform: translateY(-2px); box-shadow: var(--sd-shadow-md); }
.sd-page .sd-concept-card--wide { grid-column: 1 / 2; }
.sd-page .sd-concept-card--tall { grid-row: 1 / 3; }
.sd-page .sd-concept-card--accent { background: var(--sd-secondary); color: var(--sd-white); }
.sd-page .sd-concept-card--lime { background: var(--sd-accent); }
.sd-page .sd-concept-card--surface { background: var(--sd-surface-lo); border: 1px solid var(--sd-border); }
.sd-page .sd-concept-icon { width: 56px; height: 56px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; }
.sd-page .sd-concept-icon--primary { background: rgba(0,101,101,0.1); color: var(--sd-primary) !important; }
.sd-page .sd-concept-icon .material-symbols-outlined { font-size: 28px !important; }
.sd-page .sd-concept-card h3 { font-family: inherit !important; font-size: 1.2rem !important; font-weight: 700 !important; letter-spacing: -0.015em !important; line-height: 1.3 !important; margin: 0 0 0.75rem 0 !important; }
.sd-page .sd-concept-card--accent h3 { color: var(--sd-white) !important; }
.sd-page .sd-concept-card--lime h3 { color: var(--sd-accent-dk) !important; }
.sd-page .sd-concept-card--wide h3, .sd-page .sd-concept-card--surface h3 { color: var(--sd-ink) !important; }
.sd-page .sd-concept-card p { font-size: 14.5px !important; line-height: 1.65 !important; margin: 0 0 1.25rem 0 !important; }
.sd-page .sd-concept-card--accent p { color: rgba(255,255,255,0.88) !important; }
.sd-page .sd-concept-card--lime p { color: var(--sd-accent-dk) !important; opacity: 0.85; }
.sd-page .sd-concept-card--wide p, .sd-page .sd-concept-card--surface p { color: var(--sd-ink-2) !important; }
.sd-page .sd-concept-link { font-size: 13px !important; font-weight: 700 !important; text-decoration: none !important; display: inline-flex; align-items: center; gap: 4px; transition: gap var(--sd-trans); }
.sd-page .sd-concept-card--wide .sd-concept-link { color: var(--sd-primary) !important; }
.sd-page .sd-concept-card--accent .sd-concept-link { color: rgba(255,255,255,0.9) !important; }
.sd-page .sd-concept-card--lime .sd-concept-link { color: var(--sd-accent-dk) !important; }
.sd-page .sd-concept-card--surface .sd-concept-link { color: var(--sd-primary) !important; }
.sd-page .sd-concept-link:hover { gap: 8px; }
.sd-page .sd-concept-link .material-symbols-outlined { font-size: 16px !important; }

/* ── 오해와 진실 ──────────────────────────────────────── */
.sd-page .sd-myths-list { list-style: none; margin: 0; padding: 0; }
.sd-page .sd-myth { display: grid; grid-template-columns: 80px 1fr; gap: 32px; padding: 40px 0; border-bottom: 1px solid var(--sd-border); margin: 0 !important; }
.sd-page .sd-myth:last-child { border-bottom: none; }
.sd-page .sd-myth-num { font-size: 3.5rem !important; font-weight: 900 !important; color: rgba(0,101,101,0.12) !important; font-style: italic; line-height: 1 !important; margin: 0 !important; }
.sd-page .sd-myth-q { font-family: inherit !important; font-size: 1.2rem !important; font-weight: 700 !important; color: var(--sd-ink) !important; line-height: 1.4 !important; margin: 0 0 1rem 0 !important; }
.sd-page .sd-myth-answer { background: var(--sd-surface-lo); border-radius: var(--sd-radius-lg); padding: 20px 24px; position: relative; }
.sd-page .sd-myth-badge { position: absolute; top: -1px; right: 16px; transform: translateY(-50%); font-size: 10px !important; font-weight: 800 !important; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sd-primary) !important; background: rgba(0,101,101,0.1); padding: 3px 10px; border-radius: 999px; }
.sd-page .sd-myth-answer p { font-size: 14.5px !important; color: var(--sd-ink-2) !important; line-height: 1.7 !important; margin: 0 !important; }
.sd-page .sd-myth-answer strong { color: var(--sd-primary) !important; font-weight: 700 !important; }

/* ── 5단계 실천 가이드 ──────────────────────────────── */
.sd-page .sd-steps-section { background: var(--sd-primary-dk); padding: 88px 0; }
.sd-page .sd-steps-head { text-align: center; margin-bottom: 3rem; }
.sd-page .sd-steps-head h2 { color: var(--sd-white) !important; }
.sd-page .sd-steps-head p { color: rgba(204,240,103,0.75) !important; font-size: 1.05rem !important; margin-top: 0.5rem !important; }
.sd-page .sd-steps-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.sd-page .sd-step {
  display: flex; align-items: center; gap: 48px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--sd-radius-xl);
  padding: 28px 36px;
  transition: background var(--sd-trans);
}
.sd-page .sd-step:hover { background: rgba(255,255,255,0.13); }
.sd-page .sd-step-num { font-size: 3rem !important; font-weight: 900 !important; color: var(--sd-accent) !important; opacity: 0.5; line-height: 1 !important; min-width: 64px; transition: opacity var(--sd-trans); }
.sd-page .sd-step:hover .sd-step-num { opacity: 1; }
.sd-page .sd-step-title { font-family: inherit !important; font-size: 1.25rem !important; font-weight: 700 !important; color: var(--sd-white) !important; line-height: 1.3 !important; margin: 0 0 0.4rem 0 !important; min-width: 160px; }
.sd-page .sd-step-desc { font-size: 15px !important; color: rgba(255,255,255,0.82) !important; line-height: 1.6 !important; margin: 0 !important; flex: 1; }

/* ── Bottom CTA ──────────────────────────────────────── */
.sd-page .sd-cta {
  background: linear-gradient(135deg, var(--sd-primary-dk) 0%, var(--sd-primary) 100%);
  border-radius: var(--sd-radius-xl);
  padding: 64px 48px;
  text-align: center;
  margin: 80px auto;
  max-width: 1100px;
}
.sd-page .sd-cta h3 { font-family: inherit !important; font-size: clamp(1.5rem,2.4vw,2rem) !important; font-weight: 700 !important; color: var(--sd-white) !important; margin: 0 0 0.75rem 0 !important; letter-spacing: -0.02em !important; }
.sd-page .sd-cta p { font-size: 16px !important; color: rgba(255,255,255,0.82) !important; margin: 0 0 1.75rem 0 !important; line-height: 1.7 !important; }
.sd-page .sd-cta-btns { display: inline-flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.sd-page .sd-btn--white { background: var(--sd-white); color: var(--sd-primary) !important; }
.sd-page .sd-btn--white:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,0.2); text-decoration: none !important; }
.sd-page .sd-btn--outline { background: rgba(255,255,255,0.08); color: var(--sd-white) !important; border: 1px solid rgba(255,255,255,0.3); }
.sd-page .sd-btn--outline:hover { background: rgba(255,255,255,0.18); text-decoration: none !important; }

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 960px) {
  .sd-page .sd-wrap, .sd-page .sd-wrap--narrow { padding: 0 28px; }
  .sd-page .sd-why-grid { grid-template-columns: 1fr; gap: 40px; }
  .sd-page .sd-concepts-grid { grid-template-columns: 1fr; }
  .sd-page .sd-concept-card--tall { grid-row: auto; }
  .sd-page .sd-step { flex-wrap: wrap; gap: 16px; }
  .sd-page .sd-cta { padding: 48px 32px; }
}
@media (max-width: 640px) {
  .sd-page .sd-wrap, .sd-page .sd-wrap--narrow { padding: 0 20px; }
  .sd-page .sd-section { padding: 60px 0; }
  .sd-page .sd-hero { padding: 52px 0 44px; }
  .sd-page .sd-quiz-options { grid-template-columns: 1fr; }
  .sd-page .sd-quiz-wrap { padding: 32px 24px; }
  .sd-page .sd-myth { grid-template-columns: 1fr; gap: 12px; }
  .sd-page .sd-myth-num { font-size: 2.5rem !important; }
  .sd-page .sd-step { padding: 20px 22px; }
  .sd-page .sd-cta { margin: 40px 16px; padding: 40px 20px; }
}

/* ═══════════════════════════════════════════════════════════════
   YCL — Youth Climate Leadership  /education-events/youth-climate-leadership/
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────── */
.ycl-page { overflow-x: hidden; font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif); color: #181c20; }
.ycl-page h1, .ycl-page h2, .ycl-page h3 { font-family: var(--wp--preset--font-family--headline, 'Manrope', sans-serif); }
/* Modern Policy 그라데이션 히어로 — #008080 기반 */
.ycl-hero { position: relative; min-height: 680px; display: flex; align-items: center; padding: 6rem clamp(2rem, 8vw, 5rem); background: linear-gradient(135deg, #002a2a 0%, #004a4a 28%, #008080 62%, #005c5c 100%); overflow: hidden; }
/* 동심원 데코 링 (modern policy 기하학 요소) */
.ycl-hero::before { content: ''; position: absolute; right: -6%; top: -40%; width: 820px; height: 820px; border-radius: 50%; border: 1px solid rgba(204,240,103,0.11); box-shadow: inset 0 0 0 90px rgba(204,240,103,0.03), 0 0 0 160px rgba(0,128,128,0.06); z-index: 0; pointer-events: none; }
/* 라임·시안 방사형 글로우 */
.ycl-hero::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 55% 75% at 88% 8%, rgba(204,240,103,0.14) 0%, transparent 55%), radial-gradient(ellipse 45% 55% at 4% 92%, rgba(0,192,192,0.13) 0%, transparent 50%); pointer-events: none; z-index: 1; }
.ycl-hero-blob { position: absolute; top: -200px; right: -200px; width: 700px; height: 700px; background: radial-gradient(circle, rgba(204,240,103,0.14) 0%, transparent 68%); pointer-events: none; z-index: 2; }
.ycl-hero-content { position: relative; z-index: 3; max-width: 680px; }
.ycl-hero-badge { display: inline-flex; align-items: center; gap: 6px; padding: 0.3rem 1rem; background: #ccf067; color: #3b4d00; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; border-radius: 999px; margin-bottom: 2rem; }
.ycl-hero-badge .material-symbols-outlined { font-size: 13px; font-variation-settings: 'FILL' 1; }
.ycl-hero h1 { font-size: clamp(2.5rem, 6vw, 4.75rem); font-weight: 800; color: #ffffff; letter-spacing: -0.03em; line-height: 0.97; margin: 0 0 1.75rem; word-break: keep-all; }
.ycl-hero-accent { color: #ccf067; font-style: italic; }
.ycl-hero-accent2 { color: #a3e635; }
.ycl-hero-desc { font-size: 1.125rem; color: rgba(255,255,255,0.88); line-height: 1.75; margin: 0 0 3rem; max-width: 560px; word-break: keep-all; }
.ycl-hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; }
.ycl-btn { display: inline-flex; align-items: center; gap: 6px; padding: 0.9375rem 2rem; border-radius: 0.5rem; font-size: 1rem; font-weight: 700; text-decoration: none !important; transition: all 0.18s; }
.ycl-btn:active { transform: scale(0.97); }
.ycl-btn--primary { background: #006565; color: #fff !important; }
.ycl-btn--primary:hover { background: #004f4f; box-shadow: 0 8px 24px rgba(0,101,101,0.2); }
.ycl-btn--outline { background: rgba(255,255,255,0.10); color: #ffffff !important; border: 2px solid rgba(255,255,255,0.55); }
.ycl-btn--outline:hover { background: rgba(255,255,255,0.20); border-color: rgba(255,255,255,0.85); }

/* ── Curriculum ───────────────────────────────────────── */
.ycl-curriculum { padding: 5rem clamp(2rem, 8vw, 5rem); background: #f1f4fa; }
.ycl-curriculum-hd { margin-bottom: 3rem; }
.ycl-curriculum-hd h2 { font-size: clamp(1.75rem, 3vw, 2.375rem); font-weight: 700; color: #0d2c2c; letter-spacing: -0.02em; margin: 0 0 0.625rem; }
.ycl-curriculum-hd p { color: #3e4949; font-size: 1.0625rem; margin: 0; max-width: 560px; word-break: keep-all; }
.ycl-module-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.ycl-module { background: #fff; padding: 2rem; border-radius: 1.5rem; display: flex; flex-direction: column; transition: background 0.4s; }
.ycl-module-num { font-size: 2.5rem; font-weight: 800; line-height: 1; margin: 0 0 1.5rem; transition: color 0.3s; }
.ycl-module h3 { font-size: 1.25rem; font-weight: 700; color: #0d2c2c; margin: 0 0 0.75rem; word-break: keep-all; transition: color 0.3s; }
.ycl-module p { color: #3e4949; font-size: 0.9375rem; line-height: 1.65; margin: 0 0 1.5rem; flex: 1; word-break: keep-all; transition: color 0.3s; }
.ycl-module-checks { display: flex; flex-direction: column; gap: 0.625rem; }
.ycl-module-check { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; transition: color 0.3s; }
.ycl-module-check .material-symbols-outlined { font-size: 1rem; }
.ycl-module--1 .ycl-module-num { color: #006565; }
.ycl-module--1 .ycl-module-check { color: #00696e; }
.ycl-module--1:hover { background: #006565; }
.ycl-module--2 .ycl-module-num { color: #4c6200; }
.ycl-module--2 .ycl-module-check { color: #617c00; }
.ycl-module--2:hover { background: #4c6200; }
.ycl-module--3 .ycl-module-num { color: #007474; }
.ycl-module--3 .ycl-module-check { color: #006565; }
.ycl-module--3:hover { background: #007474; }
.ycl-module--4 .ycl-module-num { color: #003434; }
.ycl-module--4 .ycl-module-check { color: #004f4f; }
.ycl-module--4:hover { background: #003434; }
.ycl-module:hover .ycl-module-num,
.ycl-module:hover h3,
.ycl-module:hover p,
.ycl-module:hover .ycl-module-check { color: rgba(255,255,255,0.92); }
a.ycl-module { text-decoration: none !important; color: inherit; cursor: pointer; }

/* ── Library ──────────────────────────────────────────── */
.ycl-library { padding: 5rem clamp(2rem, 8vw, 5rem); }
.ycl-library-inner { display: grid; grid-template-columns: 4fr 8fr; gap: 4rem; align-items: start; }
.ycl-library-sticky { position: sticky; top: 6rem; }
.ycl-library-sticky h2 { font-size: clamp(1.75rem, 3vw, 2.375rem); font-weight: 800; color: #0d2c2c; letter-spacing: -0.02em; margin: 0 0 1.25rem; }
.ycl-library-sticky p { color: #3e4949; line-height: 1.7; margin: 0 0 1.75rem; word-break: keep-all; }
.ycl-library-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #006565; text-decoration: none; font-size: 0.9375rem; }
.ycl-library-link .material-symbols-outlined { font-size: 1.125rem; transition: transform 0.18s; }
.ycl-library-link:hover .material-symbols-outlined { transform: translateX(3px); }
.ycl-resource-list { display: flex; flex-direction: column; gap: 1.125rem; }
.ycl-resource { display: flex; align-items: center; gap: 1.25rem; background: #f1f4fa; border-radius: 1rem; padding: 1.375rem 1.5rem; transition: background 0.2s; text-decoration: none !important; }
.ycl-resource:hover { background: #ebeef4; }
.ycl-resource-icon { width: 3.25rem; height: 3.25rem; background: #fff; border-radius: 0.75rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 2px 8px rgba(0,101,101,0.08); }
.ycl-resource-icon .material-symbols-outlined { font-size: 1.625rem; color: #006565; }
.ycl-resource-body { flex: 1; }
.ycl-resource-tag { font-size: 0.7rem; font-weight: 800; color: #4c6200; text-transform: uppercase; letter-spacing: 0.09em; display: block; margin-bottom: 0.2rem; }
.ycl-resource-title { font-size: 1rem; font-weight: 700; color: #0d2c2c; word-break: keep-all; margin: 0; }
.ycl-resource-arrow .material-symbols-outlined { font-size: 1.25rem; color: #bdc9c8; }

/* ── Gallery ──────────────────────────────────────────── */
.ycl-gallery { padding: 5rem clamp(2rem, 8vw, 5rem); background: #e5e8ee; overflow: hidden; }
.ycl-gallery-hd { margin-bottom: 2.5rem; }
.ycl-gallery-hd h2 { font-size: clamp(1.75rem, 3vw, 2.375rem); font-weight: 700; color: #0d2c2c; letter-spacing: -0.02em; margin: 0 0 0.375rem; }
.ycl-gallery-hd p { color: #3e4949; margin: 0; }
.ycl-gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 280px 280px; gap: 1rem; }
.ycl-gallery-item { border-radius: 1.5rem; overflow: hidden; position: relative; }
.ycl-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.ycl-gallery-item:hover img { transform: scale(1.08); }
.ycl-gallery-caption { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.65), transparent); display: flex; align-items: flex-end; padding: 1.5rem; opacity: 0; transition: opacity 0.3s; border-radius: 1.5rem; }
.ycl-gallery-item:hover .ycl-gallery-caption { opacity: 1; }
.ycl-gallery-caption p { color: #fff; font-weight: 700; margin: 0; word-break: keep-all; }
.ycl-gallery-item--large { grid-column: span 2; grid-row: span 2; }
.ycl-gallery-item--wide { grid-column: span 2; }

/* ── Apply ────────────────────────────────────────────── */
.ycl-apply { padding: 5rem clamp(2rem, 8vw, 5rem) 6rem; }
.ycl-apply-box { max-width: 880px; margin: 0 auto; background: #006565; border-radius: 2.5rem; padding: clamp(2.5rem, 5vw, 4.5rem); text-align: center; position: relative; overflow: hidden; }
.ycl-apply-box::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at center, rgba(255,255,255,0.06) 0%, transparent 70%); pointer-events: none; }
.ycl-apply-box h2 { font-size: clamp(1.75rem, 3.5vw, 2.625rem); font-weight: 800; color: #fff; letter-spacing: -0.025em; margin: 0 0 2rem; line-height: 1.2; word-break: keep-all; position: relative; z-index: 1; }
.ycl-apply-info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; background: rgba(255,255,255,0.1); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-radius: 1.25rem; padding: 1.75rem 2rem; border: 1px solid rgba(255,255,255,0.18); margin-bottom: 2.5rem; text-align: left; position: relative; z-index: 1; }
.ycl-apply-info-label { font-size: 0.7rem; font-weight: 800; color: rgba(180,235,235,0.85); text-transform: uppercase; letter-spacing: 0.1em; display: block; margin-bottom: 0.4rem; }
.ycl-apply-info-val { font-size: 0.9375rem; font-weight: 500; color: #fff; word-break: keep-all; margin: 0; }
.ycl-apply-btns { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; position: relative; z-index: 1; }
.ycl-btn--apply { background: #ccf067; color: #3b4d00 !important; padding: 1.125rem 3rem; border-radius: 1rem; font-size: 1.0625rem; font-weight: 800; }
.ycl-btn--apply:hover { background: #b0d44d; }
.ycl-apply-quote { color: rgba(178,230,230,0.5); font-size: 0.875rem; font-style: italic; margin: 2.5rem 0 0; position: relative; z-index: 1; line-height: 1.65; }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1000px) {
  .ycl-module-grid { grid-template-columns: 1fr 1fr; }
  .ycl-library-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .ycl-library-sticky { position: static; }
  .ycl-gallery-grid { grid-template-rows: 220px 220px; }
}
@media (max-width: 640px) {
  .ycl-module-grid { grid-template-columns: 1fr; }
  .ycl-gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 180px 180px 180px; }
  .ycl-apply-info { grid-template-columns: 1fr; }
  .ycl-apply-btns { flex-direction: column; align-items: center; }
}

/* ═══════════════════════════════════════════════════════════════
   MC — Master Course coming-soon page
   ═══════════════════════════════════════════════════════════════ */

.mc-wrap { min-height: 72vh; display: flex; align-items: center; justify-content: center; padding: 6rem 2rem; text-align: center; }
.mc-inner { max-width: 560px; }
.mc-icon-ring { width: 5rem; height: 5rem; border-radius: 50%; background: #f1f4fa; border: 2px solid #ccf067; display: flex; align-items: center; justify-content: center; margin: 0 auto 2rem; }
.mc-icon-ring .material-symbols-outlined { font-size: 2.25rem; color: #4c6200; font-variation-settings: 'FILL' 1; }
.mc-eyebrow { font-size: 0.72rem; font-weight: 800; color: #4c6200; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 1rem; }
.mc-title { font-family: var(--wp--preset--font-family--headline, 'Manrope', sans-serif); font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 800; color: #006565; letter-spacing: -0.025em; margin: 0 0 1.25rem; line-height: 1.15; }
.mc-desc { font-size: 1.0625rem; color: #3e4949; line-height: 1.75; margin: 0 0 2.5rem; word-break: keep-all; }
.mc-timeline { display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.875rem 1.5rem; background: #f1f4fa; border-radius: 999px; font-size: 0.875rem; color: #3e4949; margin-bottom: 2.5rem; display: inline-flex; }
.mc-timeline .material-symbols-outlined { font-size: 1rem; color: #006565; }
.mc-back { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.875rem 2rem; background: #006565; color: #fff !important; border-radius: 0.5rem; font-size: 0.9375rem; font-weight: 700; text-decoration: none !important; transition: background 0.18s; }
.mc-back:hover { background: #004f4f; }
.mc-back .material-symbols-outlined { font-size: 1.125rem; }

/* ═══════════════════════════════════════════════════════════════
   AG — Archive Gallery  /education-events/#archive
   ═══════════════════════════════════════════════════════════════ */

.ag-header { margin-bottom: 3.5rem; }
.ag-header-top { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 1.5rem; }
.ag-title { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; color: #006565; letter-spacing: -0.025em; line-height: 1.15; margin: 0 0 0.75rem; }
.ag-desc { font-size: 1.0625rem; color: #3e4949; line-height: 1.7; margin: 0; word-break: keep-all; max-width: 560px; }
.ag-header-link { font-size: 0.9375rem; font-weight: 700; color: #006565; text-decoration: none; white-space: nowrap; align-self: flex-end; }
.ag-header-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.ag-badges { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 1.5rem; }
.ag-badge { display: inline-flex; align-items: center; padding: 0.3rem 1rem; border-radius: 999px; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; }
.ag-badge--accent { background: #ccf067; color: #3b4d00; }
.ag-badge--muted { background: #e5e8ee; color: #3e4949; }
.ag-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem 4rem; }
.ag-card { cursor: pointer; }
.ag-card-img-wrap { position: relative; overflow: hidden; border-radius: 0.75rem; background: #f1f4fa; transition: transform 0.4s; }
.ag-card:hover .ag-card-img-wrap { transform: translateY(-6px); }
.ag-card-img-wrap img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; filter: grayscale(100%); transition: filter 0.6s; }
.ag-card:hover .ag-card-img-wrap img { filter: grayscale(0%); }
.ag-card-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,101,101,0.4), transparent); opacity: 0; transition: opacity 0.4s; border-radius: 0.75rem; }
.ag-card:hover .ag-card-overlay { opacity: 1; }
.ag-card-meta { display: flex; align-items: center; gap: 0.875rem; margin: 1.75rem 0 0.5rem; }
.ag-card-date { font-size: 0.72rem; font-weight: 800; color: #4c6200; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.ag-card-line { flex: 1; height: 1px; background: rgba(189,201,200,0.4); }
.ag-card-title { font-size: 1.375rem; font-weight: 700; color: #181c20; line-height: 1.35; margin: 0; word-break: keep-all; transition: color 0.2s; }
.ag-card:hover .ag-card-title { color: #006565; }
.ag-cta-box { margin-top: 4rem; background: #e5e8ee; border-radius: 1.5rem; padding: 3.5rem; display: flex; flex-direction: column; align-items: center; text-align: center; }
.ag-cta-icon { font-family: 'Material Symbols Outlined'; font-feature-settings: 'liga'; font-size: 3.5rem; color: #4c6200; margin-bottom: 1rem; font-variation-settings: 'FILL' 1; }
.ag-cta-box h3 { font-size: 1.625rem; font-weight: 700; color: #006565; margin: 0 0 0.75rem; }
.ag-cta-box p { color: #3e4949; max-width: 440px; margin: 0 0 2rem; line-height: 1.65; word-break: keep-all; }
.ag-cta-btn { display: inline-block; background: #006565; color: #fff !important; padding: 0.9375rem 2.25rem; border-radius: 0.5rem; font-size: 1rem; font-weight: 700; text-decoration: none !important; transition: background 0.18s, transform 0.15s; box-shadow: 0 4px 16px rgba(0,101,101,0.2); }
.ag-cta-btn:hover { background: #004f4f; }
.ag-cta-btn:active { transform: scale(0.97); }
@media (max-width: 780px) {
  .ag-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .ag-cta-box { padding: 2.5rem 1.75rem; }
}

/* ═══════════════════════════════════════════════════════════════
   EFA — Eco Farmers Academy  /education-events/eco-farmers-academy/
   ═══════════════════════════════════════════════════════════════ */

/* ── Base ─────────────────────────────────────────────── */
.efa-page { font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif); color: #181c20; }
.efa-page h1, .efa-page h2, .efa-page h3, .efa-page h4 { font-family: var(--wp--preset--font-family--headline, 'Manrope', sans-serif); }

/* ── Hero ─────────────────────────────────────────────── */
.efa-hero { position: relative; min-height: 580px; display: flex; align-items: center; background: linear-gradient(135deg, #003434 0%, #004f4f 40%, #006565 70%, #2a5e00 100%); overflow: hidden; }
.efa-hero::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 80% 50%, rgba(76,98,0,0.18) 0%, transparent 60%); pointer-events: none; }
.efa-hero-content { position: relative; z-index: 2; max-width: 680px; padding: 5rem 2rem 5rem clamp(2rem, 8vw, 6rem); }
.efa-badge { display: inline-flex; align-items: center; gap: 6px; padding: 0.3rem 1rem; background: #ccf067; color: #3b4d00; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; border-radius: 999px; margin-bottom: 1.5rem; }
.efa-hero h1 { font-size: clamp(2.25rem, 5vw, 3.75rem); font-weight: 800; color: #fff; line-height: 1.1; letter-spacing: -0.025em; margin: 0 0 1.5rem; word-break: keep-all; }
.efa-hero-subtitle { display: block; font-size: 0.62em; color: #b0d44d; letter-spacing: 0; }
.efa-hero p { font-size: 1.0625rem; color: rgba(255,255,255,0.84); line-height: 1.75; margin: 0 0 2.5rem; max-width: 520px; word-break: keep-all; }
.efa-hero-btns { display: flex; gap: 0.875rem; flex-wrap: wrap; }

/* ── Shared Buttons ───────────────────────────────────── */
.efa-btn { display: inline-flex; align-items: center; gap: 6px; padding: 0.875rem 1.75rem; border-radius: 0.5rem; font-size: 0.9375rem; font-weight: 700; text-decoration: none !important; transition: background 0.18s, transform 0.15s; }
.efa-btn:active { transform: scale(0.97); }
.efa-btn--accent { background: #ccf067; color: #3b4d00; }
.efa-btn--accent:hover { background: #b0d44d; }
.efa-btn--outline { background: rgba(255,255,255,0.1); color: #fff !important; border: 1.5px solid rgba(255,255,255,0.25); }
.efa-btn--outline:hover { background: rgba(255,255,255,0.2); }
.efa-btn--primary { background: #006565; color: #fff !important; }
.efa-btn--primary:hover { background: #004f4f; }

/* ── Overview ─────────────────────────────────────────── */
.efa-overview { padding: 5rem clamp(1.5rem, 6vw, 4rem); }
.efa-overview-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 5fr 7fr; gap: 4rem; align-items: start; }
.efa-overview-title { font-size: clamp(1.625rem, 2.5vw, 2.25rem); font-weight: 700; color: #006565; letter-spacing: -0.02em; line-height: 1.3; margin: 0 0 1.5rem; word-break: keep-all; }
.efa-overview-divider { width: 3.5rem; height: 5px; background: #4c6200; border-radius: 2px; }
.efa-overview-body { font-size: 1.0625rem; color: #3e4949; line-height: 1.8; margin: 0 0 2rem; word-break: keep-all; }
.efa-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.efa-stat-card { padding: 1.5rem; background: #f1f4fa; border-radius: 0.75rem; }
.efa-stat-num { font-size: 1.875rem; font-weight: 800; color: #006565; margin: 0 0 0.2rem; }
.efa-stat-label { font-size: 0.75rem; font-weight: 700; color: #00696e; text-transform: uppercase; letter-spacing: 0.07em; }

/* ── Curriculum ───────────────────────────────────────── */
.efa-curriculum { padding: 5rem clamp(1.5rem, 6vw, 4rem); background: #ebeef4; }
.efa-section-hd { text-align: center; margin-bottom: 3rem; }
.efa-section-hd h2 { font-size: clamp(1.625rem, 3vw, 2.25rem); font-weight: 800; color: #006565; letter-spacing: -0.02em; margin: 0 0 0.75rem; }
.efa-section-hd p { color: #3e4949; max-width: 480px; margin: 0 auto; line-height: 1.6; }
.efa-bento { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; max-width: 1200px; margin: 0 auto; }
.efa-module { background: #fff; border-radius: 0.75rem; padding: 2rem; display: flex; flex-direction: column; box-shadow: 0 8px 32px rgba(0,101,101,0.06); transition: transform 0.2s, box-shadow 0.2s; min-height: 280px; }
.efa-module:hover { transform: translateY(-3px); box-shadow: 0 16px 48px rgba(0,101,101,0.12); }
.efa-module--span2 { grid-column: span 2; }
.efa-module-num { font-size: 3.75rem; font-weight: 900; color: rgba(0,101,101,0.05); line-height: 1; align-self: flex-end; margin-bottom: -0.75rem; }
.efa-module-icon { font-family: 'Material Symbols Outlined'; font-feature-settings: 'liga'; font-size: 2.5rem; color: #4c6200; margin-bottom: 1.25rem; line-height: 1; }
.efa-module h3 { font-size: 1.25rem; font-weight: 700; color: #181c20; margin: 0 0 0.75rem; word-break: keep-all; }
.efa-module p { color: #3e4949; font-size: 0.9375rem; line-height: 1.65; margin: 0 0 1.25rem; flex: 1; word-break: keep-all; }
.efa-module-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: auto; }
.efa-module-tag { padding: 0.25rem 0.75rem; background: #ebeef4; border-radius: 999px; font-size: 0.72rem; font-weight: 700; color: #006565; }
.efa-module-link { font-size: 0.875rem; font-weight: 700; color: #006565; text-decoration: underline; text-underline-offset: 3px; margin-top: auto; }
.efa-module--media { grid-column: span 2; display: flex; flex-direction: row; padding: 0; overflow: hidden; }
.efa-module-media-bg { width: 50%; flex-shrink: 0; background: linear-gradient(135deg, #004f4f 0%, #006565 40%, #4c6200 100%); min-height: 260px; position: relative; }
.efa-module-media-bg::after { content: '\e3a0'; font-family: 'Material Symbols Outlined'; font-size: 5rem; color: rgba(204,240,103,0.2); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.efa-module-body { padding: 2rem; display: flex; flex-direction: column; justify-content: center; }
.efa-module-body h3 { font-size: 1.375rem; color: #006565 !important; margin: 0 0 0.75rem; }
.efa-module-body p { font-size: 0.9375rem; color: #3e4949; line-height: 1.65; margin: 0; word-break: keep-all; }

/* ── Faculty ──────────────────────────────────────────── */
.efa-faculty { padding: 5rem clamp(1.5rem, 6vw, 4rem); }
.efa-faculty-inner { max-width: 1200px; margin: 0 auto; }
.efa-faculty-hd { margin-bottom: 3rem; }
.efa-faculty-hd h2 { font-size: clamp(1.625rem, 3vw, 2.25rem); font-weight: 800; color: #006565; letter-spacing: -0.02em; margin: 0 0 0.5rem; }
.efa-faculty-hd p { color: #3e4949; font-size: 1.0625rem; margin: 0; word-break: keep-all; }
.efa-faculty-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.efa-faculty-card { }
.efa-faculty-photo { aspect-ratio: 3/4; border-radius: 1rem; overflow: hidden; margin-bottom: 1.125rem; }
.efa-faculty-photo--1 { background: linear-gradient(145deg, #b0cece 0%, #7aadad 100%); }
.efa-faculty-photo--2 { background: linear-gradient(145deg, #b8cab0 0%, #8aad7a 100%); }
.efa-faculty-photo--3 { background: linear-gradient(145deg, #b0c0ca 0%, #7a9aad 100%); }
.efa-faculty-photo--4 { background: linear-gradient(145deg, #cab0c0 0%, #ad7a9a 100%); }
.efa-faculty-name { font-size: 1.0625rem; font-weight: 700; color: #181c20; margin: 0 0 0.2rem; }
.efa-faculty-role { font-size: 0.72rem; font-weight: 700; color: #4c6200; text-transform: uppercase; letter-spacing: 0.09em; margin: 0 0 0.625rem; }
.efa-faculty-bio { font-size: 0.875rem; color: #3e4949; line-height: 1.6; margin: 0; word-break: keep-all; }

/* ── CTA Box ──────────────────────────────────────────── */
.efa-cta-outer { padding: 3rem clamp(1.5rem, 6vw, 4rem) 4rem; }
.efa-cta-box { max-width: 1100px; margin: 0 auto; position: relative; border-radius: 2rem; overflow: hidden; background: #006565; padding: clamp(2.5rem, 5vw, 5rem); text-align: center; }
.efa-cta-box::before { content: ''; position: absolute; top: -5rem; right: -5rem; width: 22rem; height: 22rem; background: rgba(76,98,0,0.22); border-radius: 50%; filter: blur(60px); pointer-events: none; }
.efa-cta-box::after { content: ''; position: absolute; bottom: -4rem; left: -4rem; width: 16rem; height: 16rem; background: rgba(115,245,253,0.08); border-radius: 50%; filter: blur(60px); pointer-events: none; }
.efa-cta-inner { position: relative; z-index: 1; }
.efa-cta-box h2 { font-size: clamp(1.625rem, 3.5vw, 2.625rem); font-weight: 800; color: #fff; letter-spacing: -0.02em; margin: 0 0 1rem; word-break: keep-all; }
.efa-cta-box p { color: rgba(255,255,255,0.85); font-size: 1.0625rem; line-height: 1.7; margin: 0 auto 2.5rem; max-width: 520px; word-break: keep-all; }
.efa-cta-btns { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; }
.efa-btn--cta-primary { background: #ccf067; color: #3b4d00 !important; padding: 1.0625rem 2.25rem; border-radius: 999px; font-size: 1rem; font-weight: 800; }
.efa-btn--cta-primary:hover { background: #b0d44d; }
.efa-btn--cta-outline { background: rgba(255,255,255,0.1); color: #fff !important; border: 1.5px solid rgba(255,255,255,0.28); padding: 1.0625rem 2.25rem; border-radius: 999px; font-size: 1rem; font-weight: 800; }
.efa-btn--cta-outline:hover { background: rgba(255,255,255,0.2); }

/* ── FAQ ──────────────────────────────────────────────── */
.efa-faq { padding: 5rem clamp(1.5rem, 6vw, 4rem); }
.efa-faq-inner { max-width: 800px; margin: 0 auto; }
.efa-faq h2 { font-size: clamp(1.625rem, 3vw, 2.25rem); font-weight: 800; color: #006565; letter-spacing: -0.02em; text-align: center; margin: 0 0 3rem; }
.efa-faq-list { display: flex; flex-direction: column; gap: 1rem; }
.efa-faq-item { background: #f1f4fa; border-radius: 1rem; padding: 1.75rem 2rem; border-bottom: 3px solid transparent; transition: background 0.2s, border-color 0.2s, box-shadow 0.2s; }
.efa-faq-item:hover { background: #fff; border-bottom-color: #4c6200; box-shadow: 0 4px 20px rgba(0,101,101,0.08); }
.efa-faq-item h4 { font-size: 1rem; font-weight: 700; color: #181c20; margin: 0 0 0.75rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; word-break: keep-all; }
.efa-faq-item p { color: #3e4949; line-height: 1.75; margin: 0; font-size: 0.9375rem; word-break: keep-all; }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 900px) {
  .efa-overview-inner { grid-template-columns: 1fr; gap: 2rem; }
  .efa-bento { grid-template-columns: 1fr 1fr; }
  .efa-module--span2 { grid-column: span 2; }
  .efa-module--media { grid-column: span 2; }
  .efa-faculty-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
@media (max-width: 600px) {
  .efa-hero-content { padding: 4rem 1.5rem; }
  .efa-bento { grid-template-columns: 1fr; }
  .efa-module--span2, .efa-module--media { grid-column: span 1; }
  .efa-module--media { flex-direction: column; }
  .efa-module-media-bg { width: 100%; min-height: 180px; }
  .efa-stats { grid-template-columns: 1fr 1fr; }
  .efa-hero-btns, .efa-cta-btns { flex-direction: column; align-items: flex-start; }
  .efa-cta-btns { align-items: center; }
  .efa-faculty-grid { grid-template-columns: 1fr 1fr; gap: 1rem; }
}

/* ────────────────────────────────────────────────────────────
   fnc-sector-grid / fnc-sector-card
   농업정책 L1 — 분야별 탐색 4개 카드 박스 그리드
   ──────────────────────────────────────────────────────────── */
.fnc-sector-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.fnc-sector-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #d8e8e8;
    border-radius: 0.875rem;
    padding: 1.75rem 1.5rem 1.5rem;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.fnc-sector-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 101, 101, 0.12);
    border-color: #006565;
    text-decoration: none;
}

.fnc-sector-icon {
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 0.875rem;
}

.fnc-sector-bar {
    width: 2.5rem;
    height: 3px;
    background: #006565;
    border-radius: 2px;
    margin-bottom: 1rem;
}

.fnc-sector-title {
    font-family: Manrope, sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    color: #181c20;
    margin: 0 0 0.625rem 0;
}

.fnc-sector-desc {
    font-size: 0.875rem;
    color: #3e4949;
    line-height: 1.65;
    margin: 0 0 1.25rem 0;
    flex: 1;
}

.fnc-sector-cta {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #006565;
    margin-top: auto;
}
.fnc-sector-card:hover .fnc-sector-cta {
    text-decoration: underline;
}

@media (max-width: 1024px) {
    .fnc-sector-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .fnc-sector-grid { grid-template-columns: 1fr; }
}

/* ── Per-post: 단일 포스트 페이지에서만 대표 이미지 숨김 ──────
   featured_media 값은 유지(카드 리스트·OG 이미지 모두 그대로) 하면서
   본문 상단 자동 렌더링만 제거. 새 포스트 추가 시 postid-NNN 만 늘리면 됨. */
body.postid-690 .wp-block-post-featured-image { display: none !important; }
body.postid-909 .wp-block-post-featured-image { display: none !important; }
body.postid-1009 .wp-block-post-featured-image { display: none !important; }

/* ── Climate & Agriculture (기후 & 농업) L2 페이지 ─────────── */
.fnc-ca-page { max-width: 1280px; margin: 0 auto; }

/* Hero */
.fnc-ca-hero {
    background: linear-gradient(135deg, var(--wp--preset--color--primary) 0%, #0a4f13 100%);
    border-radius: 1rem;
    padding: 4rem 3rem;
    color: #fff;
    position: relative;
    overflow: hidden;
    margin-bottom: 3rem;
}
.fnc-ca-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}
.fnc-ca-hero__eyebrow {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    opacity: 0.75;
    margin-bottom: 1rem;
    display: block;
}
.fnc-ca-hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin-bottom: 1.25rem;
    color: #fff;
}
.fnc-ca-hero p {
    font-size: 1.0625rem;
    line-height: 1.7;
    opacity: 0.88;
    max-width: 560px;
    margin-bottom: 2rem;
}
.fnc-ca-hero__nav {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.fnc-ca-hero__nav a {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.5rem 1.25rem;
    border-radius: 999px;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background 0.2s;
}
.fnc-ca-hero__nav a.primary {
    background: rgba(255,255,255,0.18);
    color: #fff;
    border: 1.5px solid rgba(255,255,255,0.3);
}
.fnc-ca-hero__nav a.primary:hover { background: rgba(255,255,255,0.28); }
.fnc-ca-hero__nav a.ghost {
    background: transparent;
    color: rgba(255,255,255,0.75);
    border: 1.5px solid rgba(255,255,255,0.2);
}
.fnc-ca-hero__nav a.ghost:hover { background: rgba(255,255,255,0.1); }
.fnc-ca-hero__stat {
    position: absolute;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}
@media (max-width: 768px) { .fnc-ca-hero__stat { display: none; } }
.fnc-ca-hero__stat-num {
    font-size: 3.5rem;
    font-weight: 800;
    font-family: var(--wp--preset--font-family--manrope, sans-serif);
    line-height: 1;
    color: #fff;
}
.fnc-ca-hero__stat-label {
    font-size: 0.8125rem;
    color: rgba(255,255,255,0.75);
    text-align: center;
}

/* Research Highlight */
.fnc-ca-highlight {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 1rem;
    overflow: hidden;
    background: var(--wp--preset--color--surface-container-low);
    border: 1px solid rgba(0,0,0,0.06);
    margin-bottom: 3rem;
}
@media (max-width: 768px) { .fnc-ca-highlight { grid-template-columns: 1fr; } }
.fnc-ca-highlight__img {
    background: linear-gradient(135deg, rgba(109,40,217,0.12) 0%, rgba(109,40,217,0.04) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    position: relative;
    overflow: hidden;
}
.fnc-ca-highlight__img--photo { display: block; }
.fnc-ca-highlight__img--photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 280px;
}
.fnc-ca-highlight__img-overlay {
    position: absolute;
    bottom: 1.25rem;
    left: 1.25rem;
    right: 1.25rem;
}
.fnc-ca-highlight__img-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 2rem;
    text-align: center;
}
.fnc-ca-highlight__img-icon {
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background: var(--wp--preset--color--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.fnc-ca-highlight__img-icon .material-symbols-outlined { font-size: 2.5rem !important; }
.fnc-ca-highlight__img-stat {
    background: #fff;
    border-radius: 999px;
    padding: 0.5rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    display: flex;
    align-items: center;
    gap: 0.375rem;
    box-shadow: 0 4px 16px rgba(109,40,217,0.12);
}
.fnc-ca-highlight__body {
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.fnc-ca-highlight__badge {
    display: inline-block;
    background: rgba(109,40,217,0.1);
    color: var(--wp--preset--color--primary);
    font-size: 0.6875rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    padding: 0.35rem 0.875rem;
    border-radius: 999px;
    margin-bottom: 1.25rem;
}
.fnc-ca-highlight__body h2 {
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 1rem;
    color: var(--wp--preset--color--on-surface);
}
.fnc-ca-highlight__body p {
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.7;
    margin-bottom: 1.5rem;
}
.fnc-ca-highlight__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    text-decoration: none !important;
    font-size: 0.9375rem;
    transition: gap 0.2s;
}
.fnc-ca-highlight__cta:hover { gap: 0.625rem; }

/* Featured Grid */
.fnc-ca-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}
.fnc-ca-section-head h3 {
    font-size: 1.375rem;
    font-weight: 800;
    letter-spacing: -0.015em;
}
.fnc-ca-section-head a {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}
.fnc-ca-card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    margin-bottom: 3rem;
}
@media (max-width: 1024px) { .fnc-ca-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .fnc-ca-card-grid { grid-template-columns: 1fr; } }
.fnc-ca-card {
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--wp--preset--color--surface-container-lowest);
    border: 1px solid rgba(0,0,0,0.06);
    text-decoration: none !important;
    color: inherit !important;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s, box-shadow 0.25s;
}
.fnc-ca-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(109,40,217,0.1);
}
.fnc-ca-card__thumb {
    aspect-ratio: 16/9;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.fnc-ca-card__thumb .material-symbols-outlined {
    font-size: 2.5rem !important;
    opacity: 0.2;
}
.fnc-ca-card__thumb--photo { display: block; }
.fnc-ca-card__thumb--photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s;
}
.fnc-ca-card:hover .fnc-ca-card__thumb--photo img { transform: scale(1.05); }
.fnc-ca-card__thumb-tag {
    position: absolute;
    top: 0.625rem;
    left: 0.625rem;
    background: rgba(0,0,0,0.55);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.2rem 0.5rem;
    border-radius: 0.25rem;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}
.fnc-ca-card__body { padding: 1.125rem; display: flex; flex-direction: column; flex: 1; }
.fnc-ca-card__meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.625rem;
}
.fnc-ca-card__tag {
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}
.fnc-ca-card__date {
    font-size: 0.625rem;
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-ca-card__title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--wp--preset--color--on-surface);
    margin-bottom: 0.875rem;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-ca-card:hover .fnc-ca-card__title { color: var(--wp--preset--color--primary); }
.fnc-ca-card__cta {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--wp--preset--color--secondary, #0d631b);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}
.fnc-ca-card__cta .material-symbols-outlined { font-size: 0.875rem !important; }

/* Resource List */
.fnc-ca-list-wrap {
    background: var(--wp--preset--color--surface-container-lowest);
    border-radius: 1rem;
    border: 1px solid rgba(0,0,0,0.06);
    overflow: hidden;
    margin-bottom: 3rem;
}
.fnc-ca-list-head {
    padding: 1.5rem 2rem;
    border-bottom: 1px solid var(--wp--preset--color--surface-container);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.fnc-ca-list-head h3 {
    font-size: 1.0625rem;
    font-weight: 800;
}
.fnc-ca-list-count {
    font-size: 0.8125rem;
    color: var(--wp--preset--color--on-surface-variant);
    font-weight: 500;
}
.fnc-ca-list-item {
    padding: 1.5rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    border-bottom: 1px solid var(--wp--preset--color--surface-container);
    transition: background 0.2s;
}
.fnc-ca-list-item:last-child { border-bottom: none; }
.fnc-ca-list-item:hover { background: var(--wp--preset--color--surface-container-low); }
.fnc-ca-list-item__body { flex: 1; }
.fnc-ca-list-item__meta {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    margin-bottom: 0.5rem;
}
.fnc-ca-list-item__date {
    font-size: 0.6875rem;
    color: var(--wp--preset--color--on-surface-variant);
    font-weight: 500;
}
.fnc-ca-list-item__tag {
    font-size: 0.625rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: rgba(109,40,217,0.1);
    color: var(--wp--preset--color--primary);
    padding: 0.2rem 0.5rem;
    border-radius: 0.25rem;
}
.fnc-ca-list-item__title {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    margin-bottom: 0.375rem;
    line-height: 1.35;
}
.fnc-ca-list-item:hover .fnc-ca-list-item__title { color: var(--wp--preset--color--primary); }
.fnc-ca-list-item__excerpt {
    font-size: 0.875rem;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnc-ca-list-item__cta {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--wp--preset--color--primary);
    text-decoration: none !important;
    white-space: nowrap;
}
.fnc-ca-list-item__cta .material-symbols-outlined { font-size: 1rem !important; transition: transform 0.2s; }
.fnc-ca-list-item:hover .fnc-ca-list-item__cta .material-symbols-outlined { transform: translateX(3px); }
@media (max-width: 640px) {
    .fnc-ca-list-item { flex-direction: column; align-items: flex-start; }
    .fnc-ca-list-item__cta { align-self: flex-end; }
}

/* ───────────────────────────────────────────────────────────
   외부 앱 iframe 임베드 (Streamlit Cloud 등)
   single-tool 템플릿 (1280px contentSize) 안에서 컨테이너 폭 100% 사용.
   .fnc-app-embed         : 기본 컨테이너 (헤딩과 같은 폭으로 자동 정렬)
   .fnc-app-embed__frame  : iframe 자체
   .fnc-tool-page-title   : 도구 페이지 H1 (헤딩과 본문 정렬 일치용)
   .fnc-tool-page-footer  : 하단 미니멀 링크 줄 (새창·가이드·소스)
   ─────────────────────────────────────────────────────────── */
.fnc-app-embed {
    margin: 0.5rem 0 1rem;
}
.fnc-app-embed__frame {
    width: 100%;
    min-height: 2400px;
    border: 0;
    border-radius: 12px;
    background: #f8fafc;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    display: block;
}

/* single-tool 템플릿 전용 — 제목 없이 iframe 만, 헤더 nav 바로 아래에 붙임 */
.fnc-single-tool { margin-top: 0; padding-top: 0; }
.fnc-single-tool .wp-block-post-content {
    max-width: none !important;
    margin-top: 0;
}
.fnc-single-tool .wp-block-post-content > *:first-child { margin-top: 0; }

/* iframe wrapper 를 viewport 풀폭으로 break out (부모 max-width 무시) +
   wrapper 안에서 iframe 만 1800px 캡 + 중앙정렬 */
.fnc-single-tool .fnc-app-embed {
    margin-top: 0;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0 1rem;
    box-sizing: border-box;
}
.fnc-single-tool .fnc-app-embed__frame {
    max-width: 1800px;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 768px) {
    .fnc-single-tool .fnc-app-embed { padding: 0 0.5rem; }
}
.fnc-single-tool .fnc-tool-page-title {
    margin: 0;
    font-size: clamp(1.75rem, 1.5rem + 1.2vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
    line-height: 1.2;
}

/* 도구 페이지 하단 미니멀 링크 줄 (deprecated — fnc-tool-cta-box 로 대체) */
.fnc-tool-page-footer {
    margin: 1.25rem 0 0;
    font-size: 0.875rem;
    color: #6b7280;
    text-align: left;
}
.fnc-tool-page-footer a {
    color: var(--wp--preset--color--primary, #15803d);
    font-weight: 600;
    text-decoration: none;
}
.fnc-tool-page-footer a:hover { text-decoration: underline; }
.fnc-tool-page-footer .sep {
    margin: 0 0.625rem;
    color: #d1d5db;
}

/* ───────────────────────────────────────────────────────────
   도구 페이지 박스형 CTA — 3열 그리드, iframe 아래에 배치
   .fnc-tool-cta-box        : 외곽 박스 (gradient + border)
   .fnc-tool-cta-box__item  : 카드 한 칸 (아이콘 + label + sub)
   ─────────────────────────────────────────────────────────── */
.fnc-tool-cta-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.875rem;
    max-width: 1200px;
    margin: 1.75rem auto 0;
    padding: 1.25rem;
    background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 50%, #fefce8 100%);
    border: 1px solid #bbf7d0;
    border-radius: 18px;
    box-shadow: 0 4px 16px rgba(13, 99, 27, 0.06);
}
.fnc-tool-cta-box__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.375rem;
    padding: 1.125rem 1.25rem;
    background: #ffffff;
    border: 1px solid #d1fae5;
    border-radius: 12px;
    text-decoration: none !important;
    color: #14532d;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.fnc-tool-cta-box__item:hover {
    border-color: #15803d;
    box-shadow: 0 6px 20px rgba(21, 128, 61, 0.12);
    transform: translateY(-2px);
}
.fnc-tool-cta-box__icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(21, 128, 61, 0.1);
    color: #15803d;
    font-size: 22px !important;
    font-variation-settings: 'FILL' 1, 'wght' 500;
    margin-bottom: 0.25rem;
}
.fnc-tool-cta-box__label {
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #14532d;
}
.fnc-tool-cta-box__sub {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #4d7c5f;
}

@media (max-width: 768px) {
    .fnc-app-embed__frame { min-height: 2600px; border-radius: 8px; }
    .fnc-tool-page-footer { font-size: 0.8125rem; text-align: center; }
    .fnc-tool-page-footer .sep { margin: 0 0.375rem; }

    .fnc-tool-cta-box {
        grid-template-columns: 1fr;
        gap: 0.625rem;
        padding: 0.875rem;
        border-radius: 14px;
    }
    .fnc-tool-cta-box__item { padding: 0.875rem 1rem; }
}

/* ───────────────────────────────────────────────────────────
   인터랙티브 도구 카드 (L1 페이지에 도구 링크용)
   .fnc-tool-card                : 외곽 그라데이션 카드
   .fnc-tool-card__icon          : 좌측 원형 아이콘
   .fnc-tool-card__body          : 우측 텍스트 영역
   .fnc-tool-card__eyebrow       : 카테고리 라벨
   .fnc-tool-card__title         : 제목
   .fnc-tool-card__desc          : 설명
   .fnc-tool-card__actions       : 버튼 영역 (primary + secondary)
   ─────────────────────────────────────────────────────────── */
.fnc-tool-card {
    display: flex;
    gap: 1.75rem;
    align-items: center;
    padding: 2rem 2.25rem;
    background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 50%, #fefce8 100%);
    border: 1px solid #bbf7d0;
    border-radius: 20px;
    box-shadow: 0 4px 16px rgba(13, 99, 27, 0.06);
    transition: box-shadow 0.25s, transform 0.25s;
}
.fnc-tool-card:hover {
    box-shadow: 0 8px 28px rgba(13, 99, 27, 0.12);
    transform: translateY(-2px);
}
.fnc-tool-card__icon {
    flex: 0 0 auto;
    width: 88px;
    height: 88px;
    border-radius: 24px;
    background: #15803d;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(21, 128, 61, 0.28);
}
.fnc-tool-card__icon .material-symbols-outlined {
    font-size: 44px !important;
    font-variation-settings: 'FILL' 1, 'wght' 500;
}
.fnc-tool-card__body {
    flex: 1 1 auto;
    min-width: 0;
}
.fnc-tool-card__eyebrow {
    display: inline-block;
    margin-bottom: 0.375rem;
    padding: 0.1875rem 0.625rem;
    background: rgba(21, 128, 61, 0.1);
    color: #15803d;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-family: var(--wp--preset--font-family--manrope, sans-serif);
}
.fnc-tool-card__title {
    margin: 0.25rem 0 0.5rem;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    color: #14532d;
    line-height: 1.3;
}
.fnc-tool-card__desc {
    margin: 0 0 1.125rem;
    color: #166534;
    font-size: 0.9375rem;
    line-height: 1.6;
}
.fnc-tool-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}
.fnc-tool-card__cta-primary,
.fnc-tool-card__cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 0.9375rem;
    transition: background 0.2s, color 0.2s, transform 0.15s;
}
.fnc-tool-card__cta-primary {
    padding: 0.625rem 1.25rem;
    background: #15803d;
    color: #fff !important;
    border-radius: 999px;
    box-shadow: 0 2px 8px rgba(21, 128, 61, 0.25);
}
.fnc-tool-card__cta-primary:hover {
    background: #166534;
    transform: translateX(2px);
}
.fnc-tool-card__cta-primary .material-symbols-outlined { font-size: 1.125rem !important; }
.fnc-tool-card__cta-secondary {
    padding: 0.625rem 0.875rem;
    color: #15803d !important;
    border-radius: 999px;
}
.fnc-tool-card__cta-secondary:hover {
    background: rgba(21, 128, 61, 0.08);
}

/* ───────────────────────────────────────────────────────────
   이미지 hero 변형 — 좌측 카드 이미지 + 우측 텍스트, 전체 클릭 가능
   ─────────────────────────────────────────────────────────── */
a.fnc-tool-card.fnc-tool-card--image {
    text-decoration: none !important;
    padding: 0;
    overflow: hidden;
    align-items: stretch;
    gap: 0;
}
.fnc-tool-card--image .fnc-tool-card__visual {
    flex: 0 0 44%;
    max-width: 44%;
    overflow: hidden;
    background: #d4f0e0;
}
.fnc-tool-card--image .fnc-tool-card__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.fnc-tool-card--image:hover .fnc-tool-card__visual img {
    transform: scale(1.04);
}
.fnc-tool-card--image .fnc-tool-card__body {
    flex: 1 1 auto;
    padding: 2rem 2.25rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.fnc-tool-card--image .fnc-tool-card__cta-primary {
    align-self: flex-start;
    pointer-events: none; /* 카드 전체가 링크라 내부 span 은 비활성 */
}
.fnc-tool-card-aux {
    text-align: center;
    margin: 1rem 0 0;
    font-size: 0.9375rem;
}
.fnc-tool-card-aux a {
    color: var(--wp--preset--color--primary, #15803d);
    font-weight: 600;
    text-decoration: none;
}
.fnc-tool-card-aux a:hover { text-decoration: underline; }

@media (max-width: 768px) {
    .fnc-tool-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.25rem;
        padding: 1.5rem 1.25rem;
        border-radius: 16px;
    }
    .fnc-tool-card__icon { width: 64px; height: 64px; border-radius: 18px; }
    .fnc-tool-card__icon .material-symbols-outlined { font-size: 32px !important; }
    .fnc-tool-card__title { font-size: 1.25rem; }
    .fnc-tool-card__desc { font-size: 0.875rem; }
    .fnc-tool-card__actions { width: 100%; }

    /* 이미지 변형 모바일 — 상단 이미지 + 하단 텍스트 스택 */
    a.fnc-tool-card.fnc-tool-card--image {
        flex-direction: column;
        padding: 0;
        gap: 0;
    }
    .fnc-tool-card--image .fnc-tool-card__visual {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%;
        aspect-ratio: 16 / 9;
    }
    .fnc-tool-card--image .fnc-tool-card__body { padding: 1.25rem 1.25rem 1.5rem; }
}

/* ========================================================================
   리서치 하이라이트 — Editor Curated 4-카드 그리드 (L1 페이지)
   ======================================================================== */
.fnc-research-highlights {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.fnc-research-highlights__head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    align-items: end;
}
@media (min-width: 768px) {
    .fnc-research-highlights__head {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }
}
.fnc-research-highlights__eyebrow {
    display: inline-block;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
    margin-bottom: 0.5rem;
}
.fnc-research-highlights__title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--wp--preset--color--on-surface);
    margin: 0;
    line-height: 1.25;
}
.fnc-research-highlights__lede {
    font-size: 0.9375rem;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
    line-height: 1.6;
}
.fnc-research-highlights__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 600px) {
    .fnc-research-highlights__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px) {
    .fnc-research-highlights__grid { grid-template-columns: repeat(4, 1fr); gap: 1.75rem; }
}
.fnc-research-card {
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    text-decoration: none;
    color: inherit;
    background: var(--wp--preset--color--surface-container-lowest, #fff);
    border-radius: 0.75rem;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}
.fnc-research-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px -16px rgba(13, 99, 27, 0.25);
}
.fnc-research-card__image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--wp--preset--color--surface-container);
}
.fnc-research-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.fnc-research-card:hover .fnc-research-card__image img { transform: scale(1.04); }
.fnc-research-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: 0 0.25rem 1rem;
}
.fnc-research-card__eyebrow {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--wp--preset--color--primary);
    margin: 0;
}
.fnc-research-card__title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--wp--preset--color--on-surface);
    margin: 0;
    transition: color .2s ease;
}
.fnc-research-card:hover .fnc-research-card__title { color: var(--wp--preset--color--primary); }
.fnc-research-card__desc {
    font-size: 0.875rem;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.55;
    margin: 0;
}

/* ========================================================================
   climate-food-youth-report (CFY) — 청소년 기후·식량 리포트 전용 스타일
   기존 본문 인라인 <style>에서 이관 + KIFC 표준 팔레트 적용
   ======================================================================== */
.kifc-cfy-hero {
    background: linear-gradient(135deg, #0a2a25 0%, #17463f 35%, #2f6f62 70%, #1a4f44 100%);
    padding: 48px 32px 40px;
    border-radius: 12px;
    margin-bottom: 0;
}
.kifc-cfy-hero-inner { max-width: 860px; margin: 0 auto; }
.kifc-cfy-bc { font-size: 11px; color: rgba(255,255,255,0.6); margin-bottom: 18px; letter-spacing: 0.04em; }
.kifc-cfy-bc a { color: rgba(255,255,255,0.6); text-decoration: none; }
.kifc-cfy-bc a:hover { color: #dcefe8; }
.kifc-cfy-bc .sep { margin: 0 6px; opacity: .4; }
.kifc-cfy-bc .cur { color: #dcefe8; font-weight: 600; }
.kifc-cfy-title { font-size: 30px; font-weight: 800; color: #fff; line-height: 1.35; margin: 0 0 12px; letter-spacing: -0.02em; word-break: keep-all; }
.kifc-cfy-subtitle { font-size: 16px; color: rgba(255,255,255,0.82); line-height: 1.6; margin: 0 0 20px; word-break: keep-all; }
.kifc-cfy-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 11px; color: rgba(255,255,255,.6); }
.kifc-cfy-tag { background: rgba(220,239,232,.15); border: 1px solid rgba(220,239,232,.4); color: #dcefe8; padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 600; }
.kifc-cfy-date { font-weight: 600; color: rgba(255,255,255,.75); }
.kifc-cfy-ver { background: rgba(220,239,232,.2); border: 1px solid rgba(220,239,232,.45); color: #dcefe8; padding: 2px 8px; border-radius: 6px; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; }

.kifc-cfy-body { background: transparent; padding: 48px 24px 64px; }
.kifc-cfy-body-inner { max-width: 860px; margin: 0 auto; }
.kifc-cfy-body-inner h2 { font-size: 22px; font-weight: 800; color: #17463f; margin: 2.5rem 0 1rem; padding-top: 2rem; border-top: 1px solid var(--wp--preset--color--outline-variant); letter-spacing: -0.01em; }
.kifc-cfy-body-inner h2:first-of-type { border-top: none; padding-top: 0; margin-top: 0; }
.kifc-cfy-body-inner h3 { font-size: 17px; font-weight: 700; color: #17463f; margin: 1.75rem 0 0.75rem; }
.kifc-cfy-body-inner h4 { font-size: 15px; font-weight: 700; color: #17463f; margin: 1.25rem 0 0.5rem; }
.kifc-cfy-body-inner p { font-size: 15.5px; line-height: 1.8; color: var(--wp--preset--color--on-surface); margin: 0 0 1rem; word-break: keep-all; }
.kifc-cfy-body-inner strong { color: #17463f; font-weight: 700; }
.kifc-cfy-body-inner em { color: #ba1a1a; font-style: normal; font-weight: 700; }
.kifc-cfy-body-inner ul { margin: 0 0 1rem; padding-left: 1.5rem; }
.kifc-cfy-body-inner li { font-size: 15px; line-height: 1.75; color: var(--wp--preset--color--on-surface); margin-bottom: .4rem; }

.kifc-cfy-chart-wrap { margin: 2rem 0 0; border-radius: 12px; overflow: hidden; border: 1px solid var(--wp--preset--color--outline-variant); background: var(--wp--preset--color--surface-container-low); }
.kifc-cfy-chart-caption { font-size: 12.5px; color: var(--wp--preset--color--on-surface-variant); padding: 8px 2px 0; line-height: 1.6; margin: 0 0 2rem; }

.kifc-cfy-guidebox { background: #fff8e1; border: 1px solid #ffcc80; border-radius: 10px; padding: 18px 22px; margin: 0 0 2.5rem; }
.kifc-cfy-guidebox-title { font-size: 12px; font-weight: 700; color: #b45309; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 10px; }
.kifc-cfy-guidebox ul { margin: 0; padding-left: 18px; }
.kifc-cfy-guidebox li { font-size: 13.5px; color: #3e1c00; line-height: 1.7; margin-bottom: 3px; }
.kifc-cfy-guidebox li strong { color: #b45309; }

.kifc-cfy-callout { background: var(--wp--preset--color--secondary-container); border: 1px solid var(--wp--preset--color--outline-variant); border-radius: 8px; padding: 16px 20px; margin: 1.5rem 0; }
.kifc-cfy-callout-title { font-size: 12px; font-weight: 700; color: #17463f; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 6px; }
.kifc-cfy-callout p { font-size: 14px; color: var(--wp--preset--color--on-surface); line-height: 1.65; margin: 0 0 6px; }
.kifc-cfy-callout p:last-child { margin: 0; }

.kifc-cfy-blockquote { border-left: 3px solid #17463f; background: var(--wp--preset--color--surface-container-low); padding: 16px 20px; margin: 1.5rem 0; border-radius: 0 8px 8px 0; }
.kifc-cfy-blockquote p { font-size: 15px; color: var(--wp--preset--color--on-surface); line-height: 1.7; margin: 0; font-style: italic; }
.kifc-cfy-blockquote cite { font-size: 12px; color: var(--wp--preset--color--on-surface-variant); display: block; margin-top: 8px; font-style: normal; font-weight: 600; }

.kifc-cfy-warn { background: #fce4ec; border: 1px solid #ef9a9a; border-radius: 8px; padding: 14px 18px; margin: 1.5rem 0; }
.kifc-cfy-warn-title { font-size: 12px; font-weight: 700; color: #b71c1c; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 6px; }
.kifc-cfy-warn p { font-size: 14px; color: #4a0000; line-height: 1.65; margin: 0 0 4px; }
.kifc-cfy-warn p:last-child { margin: 0; }

.kifc-cfy-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 1.25rem 0; }
.kifc-cfy-card { background: var(--wp--preset--color--surface-container-low); border: 1px solid var(--wp--preset--color--outline-variant); border-radius: 8px; padding: 14px 16px; }
.kifc-cfy-card h4 { font-size: 13px; font-weight: 700; color: #17463f; margin: 0 0 5px; }
.kifc-cfy-card p { font-size: 13px; color: var(--wp--preset--color--on-surface-variant); line-height: 1.55; margin: 0; }

.kifc-cfy-hl { background: #e8f5e9; border: 1px solid #a5d6a7; border-radius: 8px; padding: 14px 18px; margin: 1.5rem 0; }
.kifc-cfy-hl-title { font-size: 12px; font-weight: 700; color: #2e7d32; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 6px; }
.kifc-cfy-hl p { font-size: 14px; color: #1b2e1b; line-height: 1.65; margin: 0 0 5px; }
.kifc-cfy-hl p:last-child { margin: 0; }

.kifc-cfy-table-wrap { overflow-x: auto; margin: 1.25rem 0 1.5rem; border-radius: 8px; border: 1px solid var(--wp--preset--color--outline-variant); }
.kifc-cfy-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.kifc-cfy-table th { background: var(--wp--preset--color--secondary-container); color: #17463f; font-weight: 700; padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--wp--preset--color--outline-variant); }
.kifc-cfy-table td { padding: 9px 14px; border-bottom: 1px solid var(--wp--preset--color--surface-container); color: var(--wp--preset--color--on-surface); line-height: 1.5; }
.kifc-cfy-table tr:last-child td { border-bottom: none; }

.kifc-cfy-booklist { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 1.25rem 0; }
.kifc-cfy-book { background: var(--wp--preset--color--surface-container-low); border: 1px solid var(--wp--preset--color--outline-variant); border-radius: 8px; padding: 12px 14px; }
.kifc-cfy-book h4 { font-size: 12.5px; font-weight: 700; color: #17463f; margin: 0 0 4px; }
.kifc-cfy-book p { font-size: 12px; color: var(--wp--preset--color--on-surface-variant); line-height: 1.5; margin: 0; }

.kifc-cfy-glossary { background: var(--wp--preset--color--surface-container-low); border: 1px solid var(--wp--preset--color--outline-variant); border-radius: 10px; padding: 20px 22px; margin: 2rem 0; }
.kifc-cfy-glossary h3 { font-size: 14px; font-weight: 700; color: #17463f; margin: 0 0 12px; text-transform: uppercase; letter-spacing: .1em; }
.kifc-cfy-glossary dl { margin: 0; }
.kifc-cfy-glossary dt { font-size: 13.5px; font-weight: 700; color: #17463f; margin: 8px 0 2px; }
.kifc-cfy-glossary dd { font-size: 13px; color: var(--wp--preset--color--on-surface-variant); line-height: 1.6; margin: 0 0 4px 16px; }

.kifc-cfy-series-box { background: var(--wp--preset--color--surface-container-low); border: 1px solid #2f6f62; border-radius: 10px; padding: 20px 22px; margin: 2rem 0; }
.kifc-cfy-series-box h4 { font-size: 14px; font-weight: 700; color: #17463f; margin: 0 0 10px; }
.kifc-cfy-series-box ul { margin: 0; padding-left: 18px; }
.kifc-cfy-series-box li { font-size: 14px; color: var(--wp--preset--color--on-surface-variant); line-height: 1.7; }
.kifc-cfy-series-box li a { color: #17463f; text-decoration: none; }

.kifc-cfy-refs { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--wp--preset--color--outline-variant); }
.kifc-cfy-refs h2 { font-size: 14px !important; font-weight: 700 !important; color: var(--wp--preset--color--outline) !important; text-transform: uppercase !important; letter-spacing: .12em !important; margin: 0 0 1.25rem !important; padding-top: 0 !important; border-top: none !important; }
.kifc-cfy-refs ol { padding-left: 20px; margin: 0; }
.kifc-cfy-refs li { font-size: 13px; color: var(--wp--preset--color--on-surface-variant); line-height: 1.7; margin-bottom: 6px; }
.kifc-cfy-refs li a { color: #17463f; text-decoration: none; }

.kifc-cfy-source { font-size: 11.5px; color: var(--wp--preset--color--on-surface-variant); margin-top: 8px !important; }
.kifc-cfy-pullquote { font-weight: 700; color: #17463f; font-size: 16px; margin-top: 1.5rem !important; line-height: 1.55; }
.kifc-cfy-series-note { font-size: 13px; color: var(--wp--preset--color--on-surface-variant); margin-top: 10px !important; margin-bottom: 0 !important; }
.kifc-cfy-disclaimer { font-size: 12px; color: var(--wp--preset--color--outline); margin-top: 1rem !important; }

@media (max-width: 640px) {
    .kifc-cfy-hero { padding: 32px 20px 28px; }
    .kifc-cfy-title { font-size: 22px; }
    .kifc-cfy-2col, .kifc-cfy-booklist { grid-template-columns: 1fr; }
}

/* ──────── (S) Site Search Toggle ────────
   Revert: delete this whole section + parts/header.html (S)…(/S) block
   + assets/search-toggle.js + templates/search.html. */

/* Header magnifier button — minimal icon, matches glass-nav tone */
.fnc-header-actions { display: flex; align-items: center; gap: 0.6rem; }
.fnc-search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(13, 99, 27, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.6);
    color: #0d631b;
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.fnc-search-toggle:hover,
.fnc-search-toggle:focus-visible {
    background: rgba(13, 99, 27, 0.08);
    border-color: rgba(13, 99, 27, 0.35);
    outline: none;
}
.fnc-search-toggle[aria-expanded="true"] {
    background: #0d631b;
    color: #fff;
    border-color: #0d631b;
}
.fnc-search-toggle svg { display: block; }

/* Overlay container — fixed full-screen, fades + slides */
.fnc-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 96px 1rem 1rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
}
.fnc-search-overlay[hidden] { display: none; }
.fnc-search-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}
.fnc-search-overlay__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 22, 0.45);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.fnc-search-overlay__panel {
    position: relative;
    width: 100%;
    max-width: 640px;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 24px 60px rgba(13, 99, 27, 0.18), 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 1.75rem 1.75rem 1.25rem;
    transform: translateY(-8px);
    transition: transform 0.22s ease;
}
.fnc-search-overlay.is-open .fnc-search-overlay__panel { transform: translateY(0); }

.fnc-search-close {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #40493d;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.fnc-search-close:hover,
.fnc-search-close:focus-visible {
    background: rgba(13, 99, 27, 0.08);
    color: #0d631b;
    outline: none;
}

/* Form inside overlay AND on search results page (inline variant) */
.fnc-search-form__label {
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #0d631b;
    margin: 0 0 0.6rem;
}
.fnc-search-form__row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 1.5px solid rgba(13, 99, 27, 0.22);
    border-radius: 0.75rem;
    padding: 0.45rem 0.6rem 0.45rem 0.85rem;
    background: #fff;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.fnc-search-form__row:focus-within {
    border-color: #0d631b;
    box-shadow: 0 0 0 4px rgba(13, 99, 27, 0.12);
}
.fnc-search-form__icon {
    flex: 0 0 auto;
    display: inline-flex;
    color: #0d631b;
}
.fnc-search-form input[type="search"] {
    flex: 1 1 auto;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 1rem;
    font-family: inherit;
    padding: 0.45rem 0.25rem;
    color: #1b1c1c;
    -webkit-appearance: none;
    appearance: none;
}
.fnc-search-form input[type="search"]::-webkit-search-cancel-button { display: none; }
.fnc-search-form__submit {
    flex: 0 0 auto;
    padding: 0.5rem 1rem;
    border: 0;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, #0d631b 0%, #2e7d32 100%);
    color: #fff;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: filter 0.18s ease;
}
.fnc-search-form__submit:hover,
.fnc-search-form__submit:focus-visible {
    filter: brightness(1.08);
    outline: none;
}
.fnc-search-form__hint {
    font-size: 0.78rem;
    color: var(--wp--preset--color--on-surface-variant, #40493d);
    margin: 0.75rem 0 0;
}

/* Lock body scroll while overlay open */
html.fnc-search-open,
html.fnc-search-open body { overflow: hidden; }

@media (max-width: 640px) {
    .fnc-search-overlay { padding: 72px 0.75rem 1rem; align-items: stretch; }
    .fnc-search-overlay__panel { padding: 1.25rem 1.25rem 1rem; }
    .fnc-search-form__row { padding: 0.4rem 0.5rem 0.4rem 0.7rem; }
    .fnc-search-form__submit { padding: 0.5rem 0.75rem; font-size: 0.9rem; }
}

/* ── Search results page (templates/search.html) ── */
.fnc-search-hero { background: linear-gradient(180deg, rgba(13, 99, 27, 0.05) 0%, transparent 100%); }
.fnc-search-eyebrow {
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0d631b;
    margin: 0 0 0.4rem;
}
.fnc-search-hero h1 { margin: 0 0 1.2rem; font-size: clamp(1.6rem, 2.6vw, 2.1rem); line-height: 1.25; }

/* Native wp:search block on results page → reuse our form aesthetic */
.fnc-search-block .wp-block-search__inside-wrapper {
    border: 1.5px solid rgba(13, 99, 27, 0.22);
    border-radius: 0.75rem;
    padding: 0.35rem 0.4rem 0.35rem 0.85rem;
    background: #fff;
    box-shadow: none;
}
.fnc-search-block .wp-block-search__inside-wrapper:focus-within {
    border-color: #0d631b;
    box-shadow: 0 0 0 4px rgba(13, 99, 27, 0.12);
}
.fnc-search-block .wp-block-search__input {
    border: 0;
    background: transparent;
    font-size: 1rem;
    padding: 0.5rem 0.4rem;
}
.fnc-search-block .wp-block-search__button {
    border: 0;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, #0d631b 0%, #2e7d32 100%);
    color: #fff;
    font-weight: 600;
    padding: 0.55rem 1rem;
    cursor: pointer;
    transition: filter 0.18s ease;
}
.fnc-search-block .wp-block-search__button:hover { filter: brightness(1.08); }

.fnc-search-list .fnc-search-item:first-of-type { border-top: 1px solid var(--wp--preset--color--outline-variant); }
.fnc-search-item__cat a { text-decoration: none; }
.fnc-search-item h3 a { color: #1b1c1c; text-decoration: none; }
.fnc-search-item h3 a:hover { color: #0d631b; text-decoration: underline; }
.fnc-search-empty { text-align: center; }

/* ──────── (/S) Site Search Toggle ──────── */

/* =========================================================================
   Data Essay Template (data-essay) — templates/data-essay/ 디자인 통합
   기존 .fnc-essay-{toc, kpi, part, callout, aside, sep, lead} + .fnc-refs
   는 그대로 재사용. 신규: anchor-nav, chapter-grid/card, chapter-header,
   pullstat, dataflow, glossary-grid, figure, tracks.
   single-wide 템플릿(contentSize:860px) 본문 안에서 동작 가정.
   ========================================================================= */

/* Chapter anchor nav (sticky) ─ 본문 상단 챕터 4개 점프 */
.fnc-essay-anchor-nav {
    position: sticky; top: 72px; z-index: 30;
    margin: 2rem 0 2.5rem;
    padding: 0.6rem 0.875rem;
    background: rgba(255,255,255,0.92);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    border-top: 1px solid var(--wp--preset--color--outline-variant);
    border-bottom: 1px solid var(--wp--preset--color--outline-variant);
    display: flex; align-items: center; gap: 0.375rem; flex-wrap: nowrap;
    overflow-x: auto; scrollbar-width: none;
}
.fnc-essay-anchor-nav::-webkit-scrollbar { display: none; }
.fnc-essay-anchor-nav__label {
    font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.10em;
    text-transform: uppercase; color: var(--wp--preset--color--on-surface-variant);
    padding-right: 0.75rem; border-right: 1px solid var(--wp--preset--color--outline-variant);
    margin-right: 0.125rem; white-space: nowrap; flex-shrink: 0;
}
.fnc-essay-anchor-nav a {
    display: inline-flex; align-items: baseline; gap: 0.5rem;
    font-size: 0.84375rem; font-weight: 500;
    color: var(--wp--preset--color--on-surface) !important;
    padding: 0.35rem 0.625rem; border-radius: 0.4rem;
    border-bottom: none !important; text-decoration: none !important;
    white-space: nowrap; flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}
.fnc-essay-anchor-nav a:hover {
    background: var(--wp--preset--color--surface-container-low);
    color: var(--wp--preset--color--primary) !important;
    border-bottom: none !important;
}
.fnc-essay-anchor-nav a .num {
    font-size: 0.6875rem; font-weight: 700;
    color: var(--wp--preset--color--primary);
    letter-spacing: 0.04em;
}

/* Chapter cards ─ TOC 4-card grid (이 글이 다루는 4가지 질문 카드) */
.fnc-essay-chapter-grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 1rem; margin: 2.5rem 0 3rem;
}
@media (max-width: 900px) { .fnc-essay-chapter-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .fnc-essay-chapter-grid { grid-template-columns: 1fr; } }
.fnc-essay-chapter-card {
    display: flex; flex-direction: column; gap: 0.75rem;
    padding: 1.5rem 1.25rem 1.25rem;
    background: var(--wp--preset--color--surface-container-lowest);
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 0.625rem;
    border-bottom: 1px solid var(--wp--preset--color--outline-variant) !important;
    color: inherit !important; text-decoration: none !important;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.fnc-essay-chapter-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.07);
    border-color: var(--wp--preset--color--primary) !important;
    color: inherit !important; border-bottom: 1px solid var(--wp--preset--color--primary) !important;
}
.fnc-essay-chapter-card__num {
    font-size: 0.8125rem; font-weight: 700;
    color: var(--wp--preset--color--primary);
    letter-spacing: 0.04em;
}
.fnc-essay-chapter-card__title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.125rem; font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    letter-spacing: -0.015em; line-height: 1.35;
    margin: 0;
}
.fnc-essay-chapter-card__title small {
    display: block; font-size: 0.6875rem;
    color: var(--wp--preset--color--on-surface-variant);
    font-weight: 500; letter-spacing: 0.06em;
    margin-top: 0.25rem; text-transform: uppercase;
}
.fnc-essay-chapter-card__desc {
    font-size: 0.875rem; line-height: 1.6;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0; flex: 1;
}
.fnc-essay-chapter-card__cta {
    font-size: 0.8125rem; font-weight: 600;
    color: var(--wp--preset--color--primary);
    display: inline-flex; align-items: center; gap: 0.25rem;
    margin-top: 0.25rem;
}
.fnc-essay-chapter-card__cta .material-symbols-outlined {
    font-size: 1rem; transition: transform 0.15s;
}
.fnc-essay-chapter-card:hover .fnc-essay-chapter-card__cta .material-symbols-outlined {
    transform: translateX(3px);
}

/* Chapter header ─ 챕터 본문 시작부 (num pill + label + h2 + lede) */
.fnc-essay-chapter-header {
    margin: 4rem 0 1.5rem;
    scroll-margin-top: 120px;
}
.fnc-essay-chapter-header__num {
    display: flex; align-items: baseline; gap: 0.875rem;
    margin-bottom: 0.875rem;
}
.fnc-essay-chapter-header__num .num {
    font-size: 0.8125rem; font-weight: 700;
    color: var(--wp--preset--color--primary);
    letter-spacing: 0.04em;
    padding: 0.2rem 0.55rem;
    background: var(--wp--preset--color--surface-container-low);
    border-radius: 0.35rem;
}
.fnc-essay-chapter-header__num .label {
    font-size: 0.71875rem;
    color: var(--wp--preset--color--on-surface-variant);
    letter-spacing: 0.08em; text-transform: uppercase;
}
.fnc-essay-chapter-header h2,
.fnc-essay-chapter-header h2.wp-block-heading {
    font-family: var(--wp--preset--font-family--headline);
    font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    letter-spacing: -0.022em; line-height: 1.25;
    margin: 0 0 0.875rem !important;
    word-break: keep-all; text-wrap: balance;
    border: none !important; padding: 0 !important;
}
.fnc-essay-chapter-header__lede {
    font-size: 1.0625rem; line-height: 1.65;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0; max-width: 60ch; word-break: keep-all;
}

/* Pullstat ─ 큰 숫자 + 짧은 설명 본문 강조 박스 */
.fnc-essay-pullstat {
    margin: 2.5rem 0;
    padding: 1.5rem 1.75rem;
    background: var(--wp--preset--color--surface-container-low);
    border-left: 3px solid var(--wp--preset--color--primary);
    border-radius: 0.25rem;
    display: grid; grid-template-columns: auto 1fr;
    gap: 1.75rem; align-items: center;
}
@media (max-width: 600px) {
    .fnc-essay-pullstat { grid-template-columns: 1fr; gap: 0.875rem; padding: 1.25rem 1.25rem; }
}
.fnc-essay-pullstat__num {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 3rem; font-weight: 700; line-height: 0.95;
    letter-spacing: -0.03em;
    color: var(--wp--preset--color--primary);
}
.fnc-essay-pullstat__num .unit {
    font-size: 1.25rem; margin-left: 0.125rem;
    font-weight: 500;
}
.fnc-essay-pullstat__text {
    font-size: 0.9375rem; line-height: 1.6;
    color: var(--wp--preset--color--on-surface-variant);
    margin: 0;
}
.fnc-essay-pullstat__text strong {
    color: var(--wp--preset--color--on-surface);
    font-weight: 600;
}

/* Dataflow ─ 3-col 데이터 흐름 카드 (Origin → 현재 → +시나리오) */
.fnc-essay-dataflow {
    display: grid; grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 1rem; align-items: stretch; margin: 2rem 0;
}
@media (max-width: 900px) {
    .fnc-essay-dataflow { grid-template-columns: 1fr; gap: 0.75rem; }
    .fnc-essay-dataflow__arrow { transform: rotate(90deg); justify-self: center; }
}
.fnc-essay-dataflow__col {
    padding: 1.125rem 1rem;
    background: var(--wp--preset--color--surface-container-lowest);
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 0.5rem;
}
.fnc-essay-dataflow__col h4 {
    font-size: 0.71875rem; font-weight: 700;
    color: var(--wp--preset--color--primary);
    letter-spacing: 0.06em; text-transform: uppercase;
    margin: 0 0 0.625rem;
}
.fnc-essay-dataflow__col ul {
    list-style: none !important; padding: 0 !important;
    margin: 0 !important;
    display: flex; flex-direction: column; gap: 0.25rem;
}
.fnc-essay-dataflow__col li {
    font-size: 0.8125rem;
    color: var(--wp--preset--color--on-surface);
    display: flex; justify-content: space-between;
    padding: 0.3rem 0;
    border-bottom: 1px dashed var(--wp--preset--color--outline-variant);
    margin: 0 !important;
}
.fnc-essay-dataflow__col li:last-child { border-bottom: none; }
.fnc-essay-dataflow__col li .val {
    font-size: 0.75rem;
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-essay-dataflow__col li.empty {
    color: var(--wp--preset--color--on-surface-variant);
    font-style: italic;
}
.fnc-essay-dataflow__arrow {
    align-self: center; font-size: 1.125rem;
    color: var(--wp--preset--color--primary);
    font-weight: 700;
}
.fnc-essay-dataflow__col--highlight {
    background: var(--wp--preset--color--on-primary-container);
    border-color: var(--wp--preset--color--primary);
}
.fnc-essay-dataflow__col--highlight li:last-child {
    color: var(--wp--preset--color--primary);
    font-weight: 600;
}

/* Glossary grid ─ 2-col dt/dd 용어집 */
.fnc-essay-glossary-grid {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 0 2.5rem;
    border-top: 1px solid var(--wp--preset--color--on-surface);
    margin: 1.5rem 0;
}
@media (max-width: 720px) {
    .fnc-essay-glossary-grid { grid-template-columns: 1fr; gap: 0; }
}
.fnc-essay-glossary-grid dt {
    padding: 1rem 0 0.25rem;
    font-size: 0.9375rem; font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    border-top: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-essay-glossary-grid dt:nth-of-type(1),
.fnc-essay-glossary-grid dt:nth-of-type(2) { border-top: none; }
@media (max-width: 720px) {
    .fnc-essay-glossary-grid dt:nth-of-type(2) {
        border-top: 1px solid var(--wp--preset--color--outline-variant);
    }
}
.fnc-essay-glossary-grid dd {
    margin: 0;
    padding: 0.25rem 0 1rem;
    font-size: 0.875rem; line-height: 1.6;
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-essay-glossary-grid dd em {
    font-style: italic;
    color: var(--wp--preset--color--on-surface-variant);
    font-size: 0.8125rem;
    display: block; margin-top: 0.125rem; opacity: 0.85;
}

/* Figure (chart wrapper) ─ head + body + caption 외피
   기존 .fnc-html-chart 와 차이: head/body/caption 3-구역, KIFC 토큰 적용 */
.fnc-essay-figure {
    margin: 3rem 0;
    background: var(--wp--preset--color--surface-container-lowest);
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: 0.625rem; overflow: hidden;
}
.fnc-essay-figure__head {
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid var(--wp--preset--color--outline-variant);
    background: var(--wp--preset--color--surface-container-low);
    display: flex; justify-content: space-between; align-items: center;
    gap: 1rem; flex-wrap: wrap;
}
.fnc-essay-figure__num {
    font-size: 0.71875rem; font-weight: 700;
    letter-spacing: 0.06em; text-transform: uppercase;
    color: var(--wp--preset--color--primary);
}
.fnc-essay-figure__title {
    font-size: 0.875rem; font-weight: 600;
    color: var(--wp--preset--color--on-surface);
    letter-spacing: -0.01em;
    flex: 1; text-align: right;
}
.fnc-essay-figure__body { padding: 1.25rem; }
.fnc-essay-figure__caption {
    padding: 0.75rem 1.25rem;
    border-top: 1px dashed var(--wp--preset--color--outline-variant);
    font-size: 0.75rem; line-height: 1.55;
    color: var(--wp--preset--color--on-surface-variant);
    background: var(--wp--preset--color--surface-container-low);
}

/* CTA Tracks (dark primary background) ─ 본문 하단 3-col 행동 유도 카드
   single-wide 본문 폭 안에서 작동. 풀폭은 single-wide.html 자체 제약. */
.fnc-essay-tracks {
    margin: 3rem 0 0;
    padding: 1.5rem 1.5rem;
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--on-primary);
    border-radius: 0.875rem;
}
@media (max-width: 600px) {
    .fnc-essay-tracks { padding: 1.25rem 1.125rem; margin: 2.5rem 0 0; border-radius: 0.75rem; }
}
.fnc-essay-tracks__head {
    text-align: center; margin: 0 auto 2.25rem;
    max-width: 60ch;
}
.fnc-essay-tracks__eyebrow {
    font-size: 0.6875rem; font-weight: 700;
    letter-spacing: 0.10em; text-transform: uppercase;
    color: var(--wp--preset--color--on-primary); opacity: 0.75;
}
.fnc-essay-tracks h2,
.fnc-essay-tracks h2.wp-block-heading {
    font-family: var(--wp--preset--font-family--headline);
    font-size: clamp(1.375rem, 2.4vw, 1.75rem); font-weight: 700;
    color: var(--wp--preset--color--on-primary) !important;
    letter-spacing: -0.02em; line-height: 1.3;
    margin: 0.75rem 0 0.75rem !important;
    word-break: keep-all; text-wrap: balance;
    border: none !important; padding: 0 !important;
}
.fnc-essay-tracks__sub {
    font-size: 0.9375rem; line-height: 1.6;
    color: var(--wp--preset--color--on-primary); opacity: 0.85;
    margin: 0;
}
.fnc-essay-tracks-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.875rem;
}
@media (max-width: 900px) { .fnc-essay-tracks-grid { grid-template-columns: 1fr; } }
.fnc-essay-track {
    padding: 1.5rem 1.25rem;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 0.625rem;
    display: flex; flex-direction: column; gap: 0.75rem;
    text-decoration: none !important;
    color: var(--wp--preset--color--on-primary) !important;
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    transition: background 0.2s, transform 0.2s, border-color 0.2s;
}
.fnc-essay-track:hover {
    background: rgba(255,255,255,0.10);
    border-color: rgba(255,255,255,0.28) !important;
    transform: translateY(-2px);
    color: var(--wp--preset--color--on-primary) !important;
}
.fnc-essay-track__num {
    font-size: 0.71875rem; letter-spacing: 0.10em;
    color: var(--wp--preset--color--on-primary); opacity: 0.75;
}
.fnc-essay-track__icon {
    font-size: 1.625rem !important;
    margin: 0.125rem 0;
    color: var(--wp--preset--color--on-primary-container);
}
.fnc-essay-track__title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.125rem; font-weight: 700;
    color: var(--wp--preset--color--on-primary);
    letter-spacing: -0.015em;
    margin: 0;
}
.fnc-essay-track__desc {
    font-size: 0.84375rem; line-height: 1.6;
    color: var(--wp--preset--color--on-primary); opacity: 0.85;
    margin: 0; flex: 1;
}
.fnc-essay-track__cta {
    font-size: 0.8125rem; font-weight: 600;
    color: var(--wp--preset--color--on-primary-container);
    display: inline-flex; align-items: center; gap: 0.25rem;
    margin-top: 0.375rem;
}
.fnc-essay-track__cta .material-symbols-outlined {
    font-size: 1rem; transition: transform 0.15s;
}
.fnc-essay-track:hover .fnc-essay-track__cta .material-symbols-outlined {
    transform: translateX(3px);
}

/* Compact CTA ─ 메인 read-next 카드 (1줄, 풀폭, 화살표 pill) */
.fnc-essay-tracks__feature {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1.25rem; align-items: center;
    padding: 1.125rem 1.375rem;
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.22);
    border-radius: 0.625rem;
    text-decoration: none !important;
    color: var(--wp--preset--color--on-primary) !important;
    border-bottom: 1px solid rgba(255,255,255,0.22) !important;
    transition: background 0.2s, border-color 0.2s;
}
.fnc-essay-tracks__feature:hover {
    background: rgba(255,255,255,0.20);
    border-color: rgba(255,255,255,0.42) !important;
    color: var(--wp--preset--color--on-primary) !important;
    border-bottom: 1px solid rgba(255,255,255,0.42) !important;
}
.fnc-essay-tracks__feature-body { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.fnc-essay-tracks__feature-eyebrow {
    font-size: 0.71875rem; font-weight: 800;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--wp--preset--color--on-primary-container);
}
.fnc-essay-tracks__feature-title {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.1875rem; font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.015em; line-height: 1.4;
    margin: 0; word-break: keep-all;
}
.fnc-essay-tracks__feature-cta {
    display: inline-flex; align-items: center; gap: 0.375rem;
    font-size: 0.84375rem; font-weight: 700;
    background: var(--wp--preset--color--on-primary-container);
    color: var(--wp--preset--color--primary) !important;
    padding: 0.45rem 0.875rem;
    border-radius: 999px;
    white-space: nowrap; flex-shrink: 0;
}
.fnc-essay-tracks__feature-cta .material-symbols-outlined {
    font-size: 1rem; transition: transform 0.15s;
}
.fnc-essay-tracks__feature:hover .fnc-essay-tracks__feature-cta .material-symbols-outlined {
    transform: translateX(3px);
}
@media (max-width: 600px) {
    .fnc-essay-tracks__feature { grid-template-columns: 1fr; gap: 0.75rem; padding: 1rem 1.125rem; }
    .fnc-essay-tracks__feature-cta { justify-self: start; }
}

/* Compact CTA ─ 작은 액션 pill 행 (뉴스레터·후원·문의) */
.fnc-essay-cta-row {
    margin-top: 0.75rem;
    display: flex; flex-wrap: wrap; gap: 0.4rem;
    justify-content: center;
}
.fnc-essay-cta-row__btn {
    display: inline-flex; align-items: center; gap: 0.4rem;
    font-size: 0.84375rem; font-weight: 700;
    padding: 0.5rem 0.95rem;
    background: rgba(255,255,255,0.10);
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.48);
    border-radius: 999px;
    border-bottom: 1px solid rgba(255,255,255,0.48) !important;
    text-decoration: none !important;
    transition: background 0.15s, border-color 0.15s;
}
.fnc-essay-cta-row__btn:hover {
    background: rgba(255,255,255,0.22);
    border-color: #ffffff !important;
    color: #ffffff !important;
    border-bottom: 1px solid #ffffff !important;
}
.fnc-essay-cta-row__btn .material-symbols-outlined {
    font-size: 1rem;
    color: var(--wp--preset--color--on-primary-container);
}

/* Figure placeholder ─ 그래픽 자리표시 마커 (큰 사이즈, 시각 임팩트) */
.fnc-essay-figure__placeholder {
    min-height: 220px;
    padding: 2.25rem 1.75rem;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 0.875rem; text-align: center;
    background:
        repeating-linear-gradient(
            135deg,
            transparent 0,
            transparent 16px,
            var(--wp--preset--color--surface-container) 16px,
            var(--wp--preset--color--surface-container) 17px
        ),
        var(--wp--preset--color--surface-container-low);
    border: 1.5px dashed var(--wp--preset--color--outline-variant);
    border-radius: 0.625rem;
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-essay-figure__placeholder-badge {
    display: inline-flex; align-items: center; gap: 0.375rem;
    font-size: 0.71875rem; font-weight: 700;
    letter-spacing: 0.08em; text-transform: uppercase;
    padding: 0.3rem 0.75rem;
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--on-primary) !important;
    border-radius: 999px;
}
.fnc-essay-figure__placeholder-badge .material-symbols-outlined {
    font-size: 0.9375rem;
}
.fnc-essay-figure__placeholder-icon {
    font-size: 3rem !important;
    color: var(--wp--preset--color--primary);
    opacity: 0.55;
    line-height: 1;
}
.fnc-essay-figure__placeholder-hint {
    font-size: 0.875rem; line-height: 1.65;
    color: var(--wp--preset--color--on-surface-variant);
    max-width: 56ch;
    margin: 0;
}
.fnc-essay-figure__placeholder-hint b {
    color: var(--wp--preset--color--on-surface); font-weight: 700;
}
@media (max-width: 600px) {
    .fnc-essay-figure__placeholder { min-height: 180px; padding: 1.75rem 1.25rem; }
    .fnc-essay-figure__placeholder-icon { font-size: 2.5rem !important; }
}

/* ─────── (/E) Data Essay Template ─────── */

/* ─────── (F) Full-bleed page template (iframe host) ─────────────
   page-fullbleed.html 템플릿용. header/footer 없는 페이지에서
   iframe을 뷰포트 전체로 채우기 위한 reset. */
body.page-template-page-fullbleed,
body.page-template-page-fullbleed .wp-site-blocks {
    margin: 0 !important;
    padding: 0 !important;
}
.fnc-fullbleed {
    margin: 0 !important;
    padding: 0 !important;
}
.fnc-fullbleed > iframe,
.fnc-fullbleed iframe.fnc-fullbleed__frame {
    display: block;
    width: 100vw;
    height: 100vh;
    border: 0;
    margin: 0;
}
/* ─────── (/F) Full-bleed page template ─────── */

/* ─────────────────── (G) single-report template — MRI-inspired ─────────────────── */
/*
 * 'single-report' 템플릿 (post 전용 커스텀 템플릿) 전용 스타일.
 * 참고: theme/foodandclimate/templates/single-report.html
 *
 * 구조 (paper 의 직접 자식 = WP 가 max-width:1040px·margin:auto 자동 부여):
 *   .fnc-report-paper (alignwide, contentSize 1040px, padding clamp)
 *     ├─ nav.fnc-report-breadcrumbs
 *     ├─ header.fnc-report-header (eyebrow)
 *     ├─ h1.fnc-report-title (wp-block-post-title)
 *     ├─ dl.fnc-report-pubinfo (저자 · 최종 수정일 · 버전)
 *     ├─ hr.fnc-report-divider
 *     ├─ div.fnc-report-date-src (hidden, JS 가 날짜 읽음)
 *     ├─ div.fnc-report-body (wp-block-post-content, is-layout-flow)
 *     │    └─ p, h2, h3, figure, ul, blockquote …  (본문)
 *     └─ footer.fnc-report-refs (JS 가 본문 참고문헌 이동시킴)
 *
 * 폭 처리 원칙:
 *  - paper 직접 자식 = 모두 동일 폭 (~912px, 1040 - 카드 padding)
 *  - 본문 paragraph 는 .fnc-report-body 안에서 flow → 100% 폭 = paper 직접 자식과 동일
 *  - !important 없음. 명시적 셀렉터 specificity 로 cascade 관리.
 */

/* ====== Stage / 페이지 외피 ====== */
.fnc-report {
    background: #f8f7f3;
    color: #171b19;
}

/* ====== Hero ====== */
.fnc-report .fnc-report-hero {
    position: relative;
    height: clamp(220px, 32vw, 380px);
    overflow: hidden;
    background: linear-gradient(135deg, #2f6f62 0%, #17463f 100%);
}
.fnc-report .fnc-report-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: brightness(0.55) saturate(0.85);
    z-index: 0;
}
.fnc-report .fnc-report-hero-overlay {
    position: absolute;
    left: clamp(1.5rem, 6vw, 5rem);
    bottom: clamp(2rem, 8vw, 5rem);
    z-index: 1;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
.fnc-report .fnc-report-hero-kicker {
    font-family: 'Manrope', system-ui, -apple-system, sans-serif;
    font-weight: 800;
    font-size: clamp(1.75rem, 4.5vw, 2.75rem);
    letter-spacing: 0.04em;
    line-height: 1;
}
.fnc-report .fnc-report-hero-sep {
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 300;
    color: rgba(255,255,255,0.55);
    line-height: 1;
}
.fnc-report .fnc-report-hero-cat {
    font-family: 'Pretendard', 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: clamp(0.95rem, 1.8vw, 1.2rem);
    line-height: 1.4;
    max-width: 60vw;
}

/* ====== Paper (article card) ====== */
.fnc-report .fnc-report-paper {
    background: #ffffff;
    margin-top: clamp(1.5rem, 4vw, 3.25rem);
    margin-bottom: 4rem;
    padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 5vw, 4rem);
    box-shadow: 0 6px 28px rgba(23, 70, 63, 0.08);
    border-radius: 4px;
    position: relative;
    z-index: 2;
}
@media (max-width: 640px) {
    .fnc-report .fnc-report-paper {
        margin-top: 1.75rem;
        margin-left: 0.75rem;
        margin-right: 0.75rem;
    }
}

/* ====== Hide source date (JS reads from here) ====== */
.fnc-report .fnc-report-date-src {
    position: absolute;
    width: 0; height: 0;
    overflow: hidden; visibility: hidden;
    font-size: 0;
}

/* ====== Breadcrumb ====== */
.fnc-report .fnc-report-breadcrumbs {
    font-size: 0.8125rem;
    color: #747c75;
    margin-bottom: 1.75rem;
    display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap;
}
.fnc-report .fnc-report-breadcrumbs a { color: #747c75; text-decoration: none; }
.fnc-report .fnc-report-breadcrumbs a:hover { color: #17463f; }
.fnc-report .fnc-report-breadcrumbs .sep { color: #c7cec7; }
.fnc-report .fnc-report-breadcrumbs .current { color: #4a524d; }

/* ====== Header (eyebrow) ====== */
.fnc-report .fnc-report-header {
    margin: 0 0 0.5rem;
}
.fnc-report .fnc-report-eyebrow {
    color: #17463f;
    font-family: 'Pretendard', 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.02em;
    margin: 0;
}

/* ====== Post title (wp-block-post-title with .fnc-report-title) ====== */
.fnc-report .wp-block-post-title.fnc-report-title,
.fnc-report .fnc-report-title {
    color: #17463f;
    font-family: 'Manrope', 'Pretendard', system-ui, sans-serif;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.01em;
    margin: 0 0 1.5rem;
    padding: 0;
    text-indent: 0;
    text-align: left;
    word-break: keep-all;          /* 한국어 단어 중간에서 끊지 않음 */
    overflow-wrap: anywhere;
}

/* ====== Pubinfo (저자 · 최종 수정일 · 버전) ====== */
.fnc-report .fnc-report-pubinfo {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
    margin: 0 0 1.25rem;
    padding: 0;
    font-size: 0.9375rem;
    color: #4a524d;
    font-family: 'Pretendard', 'Inter', system-ui, sans-serif;
}
.fnc-report .fnc-report-pubinfo-item {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}
.fnc-report .fnc-report-pubinfo-item dt {
    color: #747c75;
    font-weight: 500;
    margin: 0;
}
.fnc-report .fnc-report-pubinfo-item dt::after { content: ":"; margin-left: 0.1em; }
.fnc-report .fnc-report-pubinfo-item dd {
    color: #17463f;
    font-weight: 600;
    margin: 0;
    font-variant-numeric: tabular-nums;
}
.fnc-report .fnc-report-ver {
    color: #2f6f62;
    font-size: 0.85em;
    font-weight: 600;
    margin-left: 0.25em;
}

.fnc-report .fnc-report-divider {
    border: 0;
    border-top: 1px solid #e4e4de;
    margin: 0 0 2.5rem;
}

/* ====== Body (post-content with .fnc-report-body) ====== */
.fnc-report .fnc-report-body {
    font-family: 'Pretendard', 'Inter', system-ui, sans-serif;
    font-size: 1rem;
    line-height: 1.85;
    color: #171b19;
}
.fnc-report .fnc-report-body p {
    margin: 0 0 1.25em;
    text-align: justify;
    word-break: keep-all;
    overflow-wrap: anywhere;
}
.fnc-report .fnc-report-body h2 {
    color: #17463f;
    font-family: 'Manrope', 'Pretendard', system-ui, sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 3rem 0 1.25rem;
}
.fnc-report .fnc-report-body h3 {
    color: #17463f;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 2.25rem 0 1rem;
}
.fnc-report .fnc-report-body hr {
    border: 0;
    border-top: 1px solid #e4e4de;
    margin: 3rem 0;
}
.fnc-report .fnc-report-body a {
    color: #2f6f62;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}
.fnc-report .fnc-report-body a:hover { color: #17463f; }
.fnc-report .fnc-report-body em { color: #4a524d; }
.fnc-report .fnc-report-body ul,
.fnc-report .fnc-report-body ol {
    padding-left: 1.5em;
    margin: 0 0 1.5em;
}
.fnc-report .fnc-report-body li { margin-bottom: 0.5em; }
.fnc-report .fnc-report-body blockquote {
    border-left: 3px solid #17463f;
    padding-left: 1.25rem;
    margin: 2rem 0;
    color: #4a524d;
    font-style: italic;
}

/* ====== Figures (charts) ====== */
.fnc-report .fnc-report-body figure,
.fnc-report .fnc-report-body .wp-block-image,
.fnc-report .fnc-report-body .fnc-chart-inline {
    margin: 2.5rem 0;
}
.fnc-report .fnc-report-body .fnc-chart-caption {
    display: block;
    margin: 0.75rem 0 0;
    font-size: 0.875rem;
    color: #4a524d;
    line-height: 1.5;
    text-align: left;
}
.fnc-report .fnc-report-body .fnc-chart-caption strong {
    display: inline-block;
    background: #17463f;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.8125rem;
    padding: 0.2em 0.85em;
    border-radius: 999px;
    margin-right: 0.5rem;
    vertical-align: 0.05em;
    letter-spacing: 0.01em;
}

/* ====== Tables ====== */
.fnc-report .fnc-report-body figure.wp-block-table {
    margin: 2rem 0 0;
}
.fnc-report .fnc-report-body .fnc-table-caption {
    display: block;
    color: #17463f;
    font-family: 'Manrope', 'Pretendard', system-ui, sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 0.5rem;
    text-align: left;
}
.fnc-report .fnc-report-body table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9375rem;
}
.fnc-report .fnc-report-body thead th {
    background: #f4f3ef;
    color: #17463f;
    font-weight: 700;
    text-align: left;
    padding: 0.75rem 1rem;
    border-bottom: 2px solid #17463f;
}
.fnc-report .fnc-report-body tbody td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e4e4de;
    vertical-align: top;
}
.fnc-report .fnc-report-body tbody tr:hover td {
    background: #f8f7f3;
}
/* 마지막 행은 padding-bottom 줄여 출처와 시각적으로 붙도록 */
.fnc-report .fnc-report-body tbody tr:last-child td {
    padding-bottom: 0.35rem;
    border-bottom-width: 0;
}

/* ====== Source note (출처: ...) — sibling AFTER table figure, tight gap ====== */
.fnc-report .fnc-report-body aside.fnc-source-note {
    display: block;
    font-size: 0.75rem;       /* 12px */
    line-height: 1.45;
    color: #747c75;
    margin: 0.4rem 0 2rem;
    padding: 0;
    text-align: left;
    font-style: normal;
}
/* Override is-layout-flow margin-block-start: 24px — source touches the table */
.fnc-report .fnc-report-body figure.wp-block-table + aside.fnc-source-note,
.fnc-report .fnc-report-body figure.fnc-data-table + aside.fnc-source-note {
    margin-top: 2px;
    margin-block-start: 2px;
    padding-top: 0;
}
/* Also kill the table figure's potential bottom margin from any source */
.fnc-report .fnc-report-body figure.wp-block-table:has(+ aside.fnc-source-note),
.fnc-report .fnc-report-body figure.fnc-data-table:has(+ aside.fnc-source-note) {
    margin-bottom: 0;
    padding-bottom: 0;
}

/* ====== References footer (auto-populated by JS) ====== */
.fnc-report .fnc-report-refs {
    margin: 4rem 0 0;
    padding-top: 2rem;
    border-top: 2px solid #17463f;
}
.fnc-report .fnc-report-refs h2 {
    color: #17463f;
    font-family: 'Manrope', 'Pretendard', system-ui, sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 1.25rem;
    letter-spacing: 0.01em;
}
.fnc-report .fnc-report-refs ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.fnc-report .fnc-report-refs li,
.fnc-report .fnc-report-refs p {
    font-size: 0.875rem;
    line-height: 1.7;
    color: #4a524d;
    margin: 0 0 0.5rem;
    padding-left: 1.25rem;
    text-indent: -1.25rem;
    overflow-wrap: anywhere;
}
.fnc-report .fnc-report-refs li::before {
    content: "·";
    color: #17463f;
    font-weight: 800;
    margin-right: 0.65rem;
    text-indent: 0;
}
.fnc-report .fnc-report-refs a {
    color: #2f6f62;
    text-decoration: underline;
}
.fnc-report .fnc-report-refs-empty {
    color: #c7cec7;
    font-style: italic;
}

/* ====== CTA block inside report body — wider paragraph + better proportions ====== */
.fnc-report .fnc-report-body .fnc-cta-block {
    margin: 3rem 0 2rem;
}
/* Override 전역 .fnc-cta-block--article p 의 max-width: 32rem !important */
.fnc-report .fnc-report-body .fnc-cta-block--article {
    padding: 3rem 2.75rem !important;
    border-radius: 1rem !important;
    text-align: left !important;
}
.fnc-report .fnc-report-body .fnc-cta-block--article h2 {
    font-size: clamp(1.3rem, 2.4vw, 1.6rem) !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 0.85rem 0 !important;
    text-align: left !important;
}
.fnc-report .fnc-report-body .fnc-cta-block--article p {
    max-width: none !important;
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
    margin: 0 0 1.75rem 0 !important;
    text-align: left !important;
    color: rgba(255,255,255,0.92) !important;
}
.fnc-report .fnc-report-body .fnc-cta-block--article .fnc-cta-actions {
    justify-content: flex-start;
    gap: 0.625rem;
    flex-wrap: wrap;
}
.fnc-report .fnc-report-body .fnc-cta-block--article .fnc-cta-btn {
    padding: 0.7rem 1.15rem;
    font-size: 0.875rem;
}
/* 후원 버튼은 최우측으로 밀어내기 */
.fnc-report .fnc-report-body .fnc-cta-block--article .fnc-cta-actions .fnc-cta-btn--donate {
    margin-left: auto;
}
/* ─────── (/G) single-report template ─────── */

/* ─────────────────── (H) /tools/farm-economics/ 전용 푸터 색 ───────────────────
 * 이 페이지(page-id-1763)만 공통 푸터를 로고 다크 그린(#0A3D2A)으로.
 * 사용자 지정 — 사이트 전체가 아니라 이 페이지 한정. 나머지 페이지는 크림(#f6f3f2) 유지.
 * page-id 는 슬러그 /tools/farm-economics/ 에 대응. 페이지 재생성 시 ID 갱신 필요.
 * 인라인 style 의 background-color 를 이기기 위해 !important 사용.
 */
body.page-id-1763 footer.wp-block-template-part .wp-block-group.has-background {
    background-color: #0A3D2A !important;
    border-top-color: rgba(255, 255, 255, 0.12) !important;
}
body.page-id-1763 footer.wp-block-template-part,
body.page-id-1763 footer.wp-block-template-part p,
body.page-id-1763 footer.wp-block-template-part a {
    color: rgba(255, 255, 255, 0.82) !important;
}
body.page-id-1763 footer.wp-block-template-part h5 { color: #ffffff !important; }
body.page-id-1763 footer.wp-block-template-part a:hover { color: #ffffff !important; }
body.page-id-1763 footer.wp-block-template-part .wp-block-separator {
    color: rgba(255, 255, 255, 0.16) !important;
    background-color: rgba(255, 255, 255, 0.16) !important;
}
/* 다크 배경에서 보이도록 사이트 로고를 흰색 실루엣으로 */
body.page-id-1763 footer.wp-block-template-part .custom-logo {
    filter: brightness(0) invert(1);
}
/* ─────── (/H) farm-economics 푸터 ─────── */

/* ═══════════════════════════════════════════════════════════════
   Reduced motion — 접근성 (WCAG AA, prefers-reduced-motion)
   사이트 모션은 transition·transform hover lift 중심(@keyframes 없음).
   모션 최소화 사용자에게는 transition/animation 을 즉시 처리하고,
   hover lift 의 위치 이동(translate)을 제거한다. 색·그림자 hover 는
   모션이 아니므로 그대로 유지되어 affordance 가 사라지지 않는다.
   ═══════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        transition-delay: 0ms !important;
        scroll-behavior: auto !important;
    }
    /* hover lift 의 상하 이동 제거 — 그림자·색 변화는 유지 */
    .fnc-news-card:hover,
    .fnc-bento .fnc-bento-cell:hover,
    .fnc-hero-tool-cta:hover,
    .wp-block-button__link.wp-element-button.has-primary-background-color:not([style*="background-color"]):hover {
        transform: none !important;
    }
}
