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

/* ─────────── 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 */
}

/* ─────────── 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(0,0,0,.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-tool-cta {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    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: 0 0 0 14px;
    color: #fff;
    text-decoration: none;
    backdrop-filter: blur(8px);
    box-shadow: -4px 4px 18px rgba(0,0,0,0.22);
    transition: background 0.2s, color 0.2s, padding-right 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: #cbffc2;
    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: #cbffc2;
    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-tool-cta {
        padding: 0.55rem 0.85rem 0.55rem 0.65rem;
        gap: 0.45rem;
        border-radius: 0 0 0 12px;
    }
    .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; }
}

/* Agricultural Policy cluster — Featured Report 이미지 오버 카드 */
.fnc-cluster-policy { min-height: 220px; }
.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;
    }
}

/* ─────────── Editorial intro stats ─────────── */
.fnc-stat-big {
    font-family: var(--wp--preset--font-family--headline);
    font-size: clamp(3rem, 6vw, 4.5rem);
    font-weight: 900;
    line-height: 1;
    color: var(--wp--preset--color--primary);
}
.fnc-stat-label {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--wp--preset--color--on-surface-variant);
    margin-top: .5rem;
}
.fnc-stat-row {
    display: flex; gap: 2.5rem; align-items: center;
    margin-top: 2rem;
}
.fnc-stat-row .fnc-stat {
    display: flex; flex-direction: column;
}
.fnc-stat-row .fnc-stat strong {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.75rem; font-weight: 700;
    color: var(--wp--preset--color--on-surface);
}
.fnc-stat-row .fnc-stat span {
    font-size: 0.8rem; color: var(--wp--preset--color--outline);
    font-family: var(--wp--preset--font-family--label);
}
.fnc-stat-divider { width: 1px; height: 40px; background: var(--wp--preset--color--outline-variant); }

/* ─────────── 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(0,0,0,.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, #0d631b),
        var(--wp--preset--color--secondary, #106b56));
    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, #106b56),
        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(--wp--preset--font-family--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(0, 0, 0, 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(0,0,0,.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);
}
.fnc-trend-item:last-child { border-bottom: 0; }
.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;
}

/* ── Expert Opinions ──────────────────────────────────────────── */
.fnc-quote-card {
    position: relative;
    background: var(--wp--preset--color--surface-container-lowest);
    border-radius: 0.75rem;
    padding: 3rem !important;
    height: 100%;
    border: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-quote-card::before {
    content: "format_quote";
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-variation-settings: 'FILL' 1, 'wght' 400;
    font-size: 6rem;
    line-height: 1;
    position: absolute;
    top: -1rem;
    left: 0.5rem;
    opacity: 0.1;
    color: var(--wp--preset--color--primary);
    pointer-events: none;
}
.fnc-quote-card .fnc-quote-text {
    font-size: 1.1875rem !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    font-style: italic !important;
    margin: 0 0 1.75rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-quote-author {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
}
.fnc-quote-author-photo {
    width: 56px;
    height: 56px;
    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.7);
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 28px;
}
.fnc-quote-author-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fnc-quote-author-meta strong {
    display: block;
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    margin-bottom: 0.125rem;
}
.fnc-quote-author-meta span {
    font-size: 0.875rem;
    color: var(--wp--preset--color--on-surface-variant);
}

@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-quote-card { padding: 2rem !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(0,0,0,.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(0,0,0,.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: #cbffc2 !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;
}
.fnc-edu-cell--wide:hover { background: var(--wp--preset--color--secondary-fixed, #a2f2d8); }
.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;
}
.fnc-edu-cell--small:hover { background: var(--wp--preset--color--surface-container-highest); }
.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; }
.fnc-edu-cell--dark { background: #1b1c1c; }
.fnc-edu-cell--dark .material-symbols-outlined { color: var(--wp--preset--color--primary-fixed); }
.fnc-edu-cell--dark h3 { color: #fff !important; }
.fnc-edu-cell--dark p { color: rgba(255,255,255,.6) !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(0,0,0,.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(0,0,0,.05);
}
.fnc-donate-section { margin-bottom: 2rem; }
.fnc-donate-label {
    display: block;
    font-family: var(--wp--preset--font-family--label);
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--wp--preset--color--on-surface-variant);
    margin-bottom: 1rem;
}
.fnc-amount-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
}
.fnc-amount-btn {
    padding: 0.75rem;
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: var(--fnc-radius-sm);
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
    background: transparent;
    color: var(--wp--preset--color--on-surface);
    cursor: pointer;
    transition: all .15s;
    font-size: 0.9375rem;
}
.fnc-amount-btn:hover {
    background: var(--wp--preset--color--primary-container);
    color: var(--wp--preset--color--on-primary);
    border-color: transparent;
}
.fnc-amount-btn.is-active {
    background: var(--wp--preset--color--primary-container);
    color: var(--wp--preset--color--on-primary);
    border-color: transparent;
}
.fnc-amount-btn--wide { grid-column: span 2; }
.fnc-donate-input {
    width: 100%;
    background: var(--wp--preset--color--surface-container-lowest);
    border: 1px solid var(--wp--preset--color--outline-variant);
    border-radius: var(--fnc-radius-sm);
    padding: 0.875rem 1rem;
    margin-bottom: 0.75rem;
    font-family: var(--wp--preset--font-family--body);
    font-size: 0.9375rem;
}
.fnc-donate-input:focus {
    outline: 2px solid var(--wp--preset--color--primary-container);
    outline-offset: 1px;
}
.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-card {
    display: block;
    text-decoration: none;
    color: inherit;
}
.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-amount-btn--wide { grid-column: span 2; }
    .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: #cbffc2;
    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;
}

/* ── 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) — Smart Farm with bottom image */
.fnc-tech-cell--feature {
    grid-column: span 2;
    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(0,0,0,.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: 16rem; 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(0,0,0,.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) — text + circle icon */
.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: block; margin-bottom: 4rem; }
.fnc-case-item:last-child { margin-bottom: 0; }
.fnc-case-image {
    aspect-ratio: 16 / 9;
    border-radius: var(--fnc-radius-md);
    overflow: hidden;
    margin-bottom: 1.5rem;
}
.fnc-case-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1s;
    display: block;
}
.fnc-case-item:hover .fnc-case-image img { transform: scale(1.05); }
.fnc-case-meta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.fnc-case-meta h3 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
}
.fnc-case-meta .tag {
    color: var(--wp--preset--color--primary);
    font-family: var(--wp--preset--font-family--label);
    font-weight: 700;
    font-size: 0.8rem;
}
.fnc-case-item p {
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.65;
    margin: 0 0 1.5rem 0;
}
.fnc-case-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--wp--preset--font-family--label);
    font-weight: 700;
    font-size: 0.875rem;
    border-bottom: 2px solid var(--wp--preset--color--primary);
    padding-bottom: 0.25rem;
    text-decoration: none;
    color: inherit;
}

/* ── 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, #cbffc2); }
.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--warn { stroke: #d97706; }
.fnc-gauge-fill--crit { stroke: #e11d48; }
.fnc-gauge-fill--ok { stroke: var(--wp--preset--color--primary); }
.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; }
.fnc-donut-fill--ok { stroke: var(--wp--preset--color--primary); }

/* 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 {
    background: var(--wp--preset--color--surface-container-high);
    color: var(--wp--preset--color--on-surface);
    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(0,0,0,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, #0d631b 0%, #106b56 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; }

/* ── 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--square { aspect-ratio: 1 / 1; }
.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;
}
.fnc-greetings-signature {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 3rem;
}
.fnc-greetings-signature .line {
    height: 1px;
    width: 6rem;
    background: var(--wp--preset--color--primary-container);
}
.fnc-greetings-signature span {
    color: var(--wp--preset--color--primary);
    font-family: var(--wp--preset--font-family--headline);
    font-weight: 700;
}

/* ── 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(0,0,0,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(0,0,0,.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, #cbffc2) !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" 데코를 재사용.
*/
.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(0,0,0,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;
}

@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; }
}

/* ── 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(0,0,0,0.08);
}
.fnc-authority-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--wp--preset--color--on-primary-container, #cbffc2);
    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;
}

/* ═══════════════════════════════════════════════════════════════
   Single Article / Report Template — Academic Layout
   ═══════════════════════════════════════════════════════════════ */

/* ── Breadcrumb ──────────────────────────────────────────────── */
.fnc-article-breadcrumbs {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-wrap: wrap;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(64, 73, 61, 0.6);
    margin-bottom: 2rem !important;
}
.fnc-article-breadcrumbs a {
    color: inherit;
    text-decoration: none;
    transition: color .15s;
}
.fnc-article-breadcrumbs a:hover { color: var(--wp--preset--color--primary); }
.fnc-article-breadcrumbs .sep {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 0.85rem;
    line-height: 1;
}
.fnc-article-breadcrumbs .current {
    color: var(--wp--preset--color--primary);
    font-weight: 600;
}

/* ── Article header (title + meta + download) ────────────────── */
.fnc-article-header {
    padding: 1rem 0 4rem 0;
}
.fnc-article-header .wp-block-post-title {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: clamp(1.875rem, 3.4vw, 2.75rem) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
    margin: 0 0 2rem 0 !important;
    color: var(--wp--preset--color--on-surface);
}
.fnc-article-header .wp-block-post-title .fnc-article-subtitle {
    display: block;
    font-family: var(--wp--preset--font-family--body);
    font-size: clamp(0.9375rem, 1.2vw, 1.125rem);
    font-weight: 500;
    letter-spacing: -0.005em;
    line-height: 1.5;
    color: var(--wp--preset--color--on-surface-variant);
    margin-top: 0.875rem;
    opacity: 0.88;
}
/* Meta row — Grid 기반: labels(row1) + values(row2) + button(span both rows, right) */
.fnc-article-meta-row {
    display: grid !important;
    grid-template-columns: repeat(3, auto) 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 2.5rem !important;
    row-gap: 0.4rem !important;
    align-items: end !important;
    border-top: 1px solid rgba(191, 202, 186, 0.35);
    padding-top: 2rem !important;
}
.fnc-article-meta-row .fnc-article-meta-item {
    display: contents;     /* let label and value participate in the parent grid */
}
.fnc-article-meta-row .fnc-article-meta-item label {
    grid-row: 1;
    margin: 0 !important;
}
.fnc-article-meta-row .fnc-article-meta-item .value,
.fnc-article-meta-row .fnc-article-meta-item .badge {
    grid-row: 2;
    align-self: end;
    margin: 0 !important;
    line-height: 1.4 !important;
}
.fnc-article-meta-row > .fnc-article-meta-item:nth-of-type(1) label,
.fnc-article-meta-row > .fnc-article-meta-item:nth-of-type(1) .value,
.fnc-article-meta-row > .fnc-article-meta-item:nth-of-type(1) .badge { grid-column: 1; }
.fnc-article-meta-row > .fnc-article-meta-item:nth-of-type(2) label,
.fnc-article-meta-row > .fnc-article-meta-item:nth-of-type(2) .value,
.fnc-article-meta-row > .fnc-article-meta-item:nth-of-type(2) .badge { grid-column: 2; }
.fnc-article-meta-row > .fnc-article-meta-item:nth-of-type(3) label,
.fnc-article-meta-row > .fnc-article-meta-item:nth-of-type(3) .value,
.fnc-article-meta-row > .fnc-article-meta-item:nth-of-type(3) .badge { grid-column: 3; }
.fnc-article-meta-item label {
    display: block;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.65rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(64, 73, 61, 0.55);
    margin-bottom: 0.35rem;
}
.fnc-article-meta-item .value {
    font-family: var(--wp--preset--font-family--body);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--wp--preset--color--on-surface);
}
.fnc-article-meta-item .badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 0.25rem;
    background: var(--wp--preset--color--secondary-container);
    color: var(--wp--preset--color--on-secondary-container);
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
/* ── Abstract ────────────────────────────────────────────────── */
.fnc-article-abstract-section {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}
.fnc-article-abstract-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    align-items: start;
}
.fnc-article-abstract-section h2 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--primary) !important;
    margin: 0 !important;
}
.fnc-article-abstract-box {
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 2.5rem;
    border-radius: 0.875rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.fnc-article-abstract-box p,
.fnc-article-abstract-box .wp-block-post-excerpt__excerpt {
    font-family: var(--wp--preset--font-family--body);
    font-size: 1.125rem !important;
    line-height: 1.7 !important;
    color: var(--wp--preset--color--on-surface-variant) !important;
    font-style: normal !important;
    margin: 0 !important;
}
.fnc-article-abstract-box p + p {
    margin-top: 1em !important;
}

/* ── Main 2-column layout (sticky sidebar + content) ─────────── */
.fnc-article-main {
    display: grid !important;
    grid-template-columns: 3fr 9fr !important;
    gap: 4rem !important;
    align-items: start !important;
}

/* ── Sticky TOC sidebar ──────────────────────────────────────── */
.fnc-article-sidebar {
    position: sticky;
    top: 100px;
}
.fnc-article-sidebar h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: rgba(64, 73, 61, 0.5) !important;
    margin: 0 0 1.5rem 0 !important;
}
.fnc-article-toc {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.fnc-article-toc li {
    margin: 0 0 1rem 0 !important;
}
.fnc-article-toc a {
    display: block;
    font-family: var(--wp--preset--font-family--body);
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(64, 73, 61, 0.6);
    padding-left: 1rem;
    border-left: 2px solid transparent;
    text-decoration: none;
    transition: all .15s;
    line-height: 1.5;
}
.fnc-article-toc a:hover {
    color: var(--wp--preset--color--on-surface);
    border-left-color: var(--wp--preset--color--outline-variant);
}
.fnc-article-toc a.is-active,
.fnc-article-toc li:first-child a {
    color: var(--wp--preset--color--primary);
    border-left-color: var(--wp--preset--color--primary);
    font-weight: 600;
}

.fnc-key-metric-callout {
    margin-top: 3rem;
    padding: 1.5rem;
    border-radius: 0.75rem;
    background: var(--wp--preset--color--surface-container-high);
    border-left: 4px solid var(--wp--preset--color--secondary);
}
.fnc-key-metric-callout label {
    display: block;
    font-family: var(--wp--preset--font-family--headline);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--wp--preset--color--secondary);
    margin-bottom: 0.5rem;
}
.fnc-key-metric-callout .num {
    display: block;
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.875rem;
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    margin-bottom: 0.25rem;
}
.fnc-key-metric-callout .desc {
    font-size: 0.7rem;
    color: var(--wp--preset--color--on-surface-variant);
    line-height: 1.45;
}

/* ── Academic prose styling for post content ─────────────────── */
.fnc-prose-academic .wp-block-post-content > h2 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.875rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
    margin: 3rem 0 1.5rem 0 !important;
    color: var(--wp--preset--color--on-surface) !important;
    line-height: 1.3 !important;
}
.fnc-prose-academic .wp-block-post-content > h3 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 1.375rem !important;
    font-weight: 700 !important;
    margin: 2rem 0 1rem 0 !important;
    color: var(--wp--preset--color--on-surface) !important;
}
.fnc-prose-academic .wp-block-post-content > p {
    font-family: var(--wp--preset--font-family--body) !important;
    font-size: 1.0625rem !important;
    line-height: 1.85 !important;
    margin-bottom: 1.5rem !important;
    color: var(--wp--preset--color--on-surface-variant) !important;
}
.fnc-prose-academic .wp-block-post-content blockquote,
.fnc-prose-academic .wp-block-post-content > .wp-block-quote {
    border-left: 4px solid var(--wp--preset--color--primary) !important;
    padding: 0.5rem 0 0.5rem 1.5rem !important;
    font-style: italic;
    margin: 2rem 0 !important;
    color: var(--wp--preset--color--secondary) !important;
    font-size: 1.125rem !important;
    line-height: 1.7 !important;
}
.fnc-prose-academic .wp-block-post-content figure.wp-block-image,
.fnc-prose-academic .wp-block-post-content > .wp-block-image {
    margin: 3rem 0 !important;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.18);
}
.fnc-prose-academic .wp-block-post-content figcaption {
    background: var(--wp--preset--color--surface-container-low);
    padding: 1rem !important;
    text-align: center;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.7rem;
    color: var(--wp--preset--color--on-surface-variant);
    font-style: italic;
    margin: 0 !important;
}

/* ── Footnotes ───────────────────────────────────────────────── */
.fnc-article-footnotes {
    margin-top: 6rem !important;
    padding-top: 3rem !important;
    border-top: 1px solid rgba(191,202,186,0.4);
}
.fnc-article-footnotes h4 {
    font-family: var(--wp--preset--font-family--headline) !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: rgba(64, 73, 61, 0.5) !important;
    margin: 0 0 2rem 0 !important;
}

/* ── Hide template chrome for posts that embed full essay HTML ──
   .kifc-essay        : 자체 header가 있어 WP 타이틀까지 모두 숨김
   .kifc-l2body-wrap  : 자체 타이틀 없음 → WP 타이틀은 유지, 나머지 chrome만 숨김
   .kifc-l2hero-wrap  : 자체 히어로(breadcrumb+타이틀+subtitle+meta) → 테마 header·breadcrumb 모두 숨김
*/
body.single-post:has(.kifc-essay) .fnc-article-header .wp-block-post-title,
body.single-post:has(.kifc-essay) .fnc-article-abstract-section,
body.single-post:has(.kifc-essay) .fnc-article-sidebar,
body.single-post:has(.kifc-essay) .fnc-article-footnotes,
body.single-post:has(.kifc-l2body-wrap) .fnc-article-abstract-section,
body.single-post:has(.kifc-l2body-wrap) .fnc-article-sidebar,
body.single-post:has(.kifc-l2body-wrap) .fnc-article-footnotes,
body.single-post:has(.kifc-l2hero-wrap) .fnc-article-header,
body.single-post:has(.kifc-l2hero-wrap) .fnc-article-breadcrumbs {
    display: none !important;
}
body.single-post:has(.kifc-essay) .fnc-article-main,
body.single-post:has(.kifc-l2body-wrap) .fnc-article-main {
    grid-template-columns: 1fr !important;
}

/* L2 body 글: 헤더-본문 사이 간격 압축 (헤더 하단 패딩 ↓, 본문 상단 패딩 ↓) */
body.single-post:has(.kifc-l2body-wrap) .fnc-article-header {
    padding: 1rem 0 0.5rem 0 !important;
}
body.single-post:has(.kifc-l2body-wrap) main > .wp-block-group:nth-of-type(3) {
    /* 3번째 wp-block-group = main 콘텐츠 영역 (header / abstract(hidden) / main) */
    padding-top: 0 !important;
}
/* 임베디드 본문이 자체 padding을 가지므로 wrapper 추가 padding 제거 */
body.single-post:has(.kifc-l2body-wrap) .fnc-prose-academic { padding-top: 0 !important; }
body.single-post:has(.kifc-l2body-wrap) .kifc-l2body-wrap { padding-top: 1.5rem !important; }
/* 본문 폭을 .kifc-essay(1060px)와 동일하게 통일 — 두 글 디자인 일관성 */
body.single-post:has(.kifc-l2body-wrap) .kifc-l2body-inner { max-width: 1060px !important; }
body.single-post:has(.kifc-l2body-wrap) .kifc-l2body-wrap { padding-left: 0 !important; padding-right: 0 !important; }

/* L2 hero가 있을 때: 첫 컨테이너(breadcrumb+header 영역)의 상·하 패딩 제거 */
body.single-post:has(.kifc-l2hero-wrap) main > .wp-block-group:nth-of-type(1) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
body.single-post:has(.kifc-l2hero-wrap) .kifc-l2hero-wrap {
    max-width: 1060px !important;
    margin: 0 auto !important;
}
/* L2 글 상단 featured image 는 원본 3:2 비율이 너무 길어서 2/3 로 크롭 → 9:4 */
body.single-post:has(.kifc-l2hero-wrap) .wp-block-post-featured-image {
    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) {
    .fnc-article-main { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
    .fnc-article-sidebar { position: static !important; }
    .fnc-article-abstract-grid { grid-template-columns: 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, #106b56 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, #cbffc2 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: #cbffc2;
    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, #106b56 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: #cbffc2;
}
.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(0,0,0,0.06), 0 4px 20px rgba(0,0,0,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; }

/* ── References list (참고문헌 섹션) — posts and essays ──────── */
.fnc-refs {
    list-style: decimal !important;
    padding-left: 1.5rem !important;
    margin: 1rem 0 0 0 !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;
}
.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;
}

@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; }
}

/* ═══════════════════════════════════════════════════════════════
   Data Insights Page v2 — Stitch 디자인 (대시보드 + 데이터 에세이)
   구조: Hero 12col(8+4) → Key Indicators 4col → 차트+에세이 8+4 → 리포트 3col
   ═══════════════════════════════════════════════════════════════ */

/* WP 기본 제목/래퍼 constrained 해제 (media 페이지와 동일 패턴) */
body:has(.fnc-insights-v2) .wp-block-post-title,
body:has(.fnc-insights-v2) .entry-title { display: none !important; }
body:has(.fnc-insights-v2) > .wp-site-blocks > main.wp-block-group,
body:has(.fnc-insights-v2) .wp-block-post-content {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body:has(.fnc-insights-v2) .wp-block-post-content > * { max-width: none !important; }

.fnc-insights-v2 {
    max-width: 1280px;
    margin: 0 auto;
    padding: 4rem 1.5rem 6rem;
}
@media (min-width: 768px) { .fnc-insights-v2 { padding: 5rem 3rem 6rem; } }

/* ── Hero (12-col: 8 text + 4 buttons) ─────────────────── */
.fnc-ins-hero {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: end;
    margin-bottom: 6rem;
}
@media (min-width: 1024px) {
    .fnc-ins-hero { grid-template-columns: 2fr 1fr; }
}
.fnc-ins-hero h1 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: clamp(2.5rem, 5vw, 3.75rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.1;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 1.5rem 0 !important;
    word-break: keep-all;
}
.fnc-ins-hero h1 .accent { color: var(--wp--preset--color--primary); }
.fnc-ins-hero__sub {
    font-family: var(--wp--preset--font-family--body);
    font-size: 1.125rem;
    line-height: 1.7;
    color: var(--wp--preset--color--on-surface-variant);
    max-width: 48rem;
    margin: 0;
    word-break: keep-all;
}
.fnc-ins-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-start;
}
@media (min-width: 1024px) { .fnc-ins-hero__actions { justify-content: flex-end; } }
.fnc-ins-btn {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    font-weight: 600;
    padding: .75rem 1.5rem;
    border-radius: 6px;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
    white-space: nowrap;
}
.fnc-ins-btn--primary {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--on-primary) !important;
    border: 1px solid var(--wp--preset--color--primary);
}
.fnc-ins-btn--primary:hover { background: var(--wp--preset--color--primary-container); border-color: var(--wp--preset--color--primary-container); }
.fnc-ins-btn--secondary {
    background: transparent;
    color: var(--wp--preset--color--primary) !important;
    border: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-ins-btn--secondary:hover { background: var(--wp--preset--color--surface-container-low); }
.fnc-ins-btn .material-symbols-outlined { font-size: 18px; }

/* ── 섹션 공통 헤더 (h2 + border-bottom) ─────────────── */
.fnc-ins-sec { margin-bottom: 8rem; }
.fnc-ins-sec:last-child { margin-bottom: 0; }
.fnc-ins-sec__h {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 2rem 0 !important;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--wp--preset--color--surface-container-high);
}
.fnc-ins-sec__h-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--wp--preset--color--surface-container-high);
}
.fnc-ins-sec__h-flex h2 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 !important;
}
.fnc-ins-sec__link {
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    font-weight: 500;
    color: var(--wp--preset--color--primary);
    text-decoration: none;
}
.fnc-ins-sec__link:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }

/* ── Key Indicators 대시보드 (4-col bento) ──────────── */
.fnc-ins-kpis {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 640px) { .fnc-ins-kpis { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .fnc-ins-kpis { grid-template-columns: repeat(4, 1fr); } }

.fnc-kpi {
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 1.5rem;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 220px;
    transition: background .3s;
}
.fnc-kpi:hover { background: var(--wp--preset--color--surface-container-low); }
.fnc-kpi--dark {
    background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--primary-container));
    color: var(--wp--preset--color--on-primary);
}
.fnc-kpi--dark:hover { background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--primary-container)); }

.fnc-kpi__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}
.fnc-kpi__label {
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    font-weight: 500;
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-kpi--dark .fnc-kpi__label { color: rgba(255,255,255,.8); }

.fnc-kpi__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .375rem;
    border-radius: 8px;
    font-size: 20px;
}
.fnc-kpi__icon--primary { color: var(--wp--preset--color--primary); background: rgba(13,99,27,.1); }
.fnc-kpi__icon--secondary { color: var(--wp--preset--color--secondary); background: rgba(16,107,86,.1); }
.fnc-kpi__icon--tertiary { color: var(--wp--preset--color--tertiary); background: rgba(65,90,85,.1); }
.fnc-kpi__icon--on-dark { color: #fff; background: rgba(255,255,255,.2); }

.fnc-kpi__num {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    line-height: 1.1;
    margin-bottom: .5rem;
    transition: color .3s;
}
.fnc-kpi:hover .fnc-kpi__num { color: var(--wp--preset--color--primary); }
.fnc-kpi--dark .fnc-kpi__num,
.fnc-kpi--dark:hover .fnc-kpi__num { color: #fff; }
.fnc-kpi__num-unit {
    font-size: 1.25rem;
    font-weight: 400;
    color: var(--wp--preset--color--on-surface-variant);
    margin-left: .25rem;
}
.fnc-kpi--dark .fnc-kpi__num-unit { color: rgba(255,255,255,.8); }

.fnc-kpi__delta {
    display: flex;
    align-items: center;
    gap: .25rem;
    font-size: .875rem;
}
.fnc-kpi__delta--up { color: var(--wp--preset--color--error); }
.fnc-kpi__delta--down { color: var(--wp--preset--color--primary); }
.fnc-kpi__delta--neutral { color: var(--wp--preset--color--on-surface-variant); }
.fnc-kpi--dark .fnc-kpi__delta { color: var(--wp--preset--color--on-primary-container); }
.fnc-kpi__delta .material-symbols-outlined { font-size: 18px; }

.fnc-kpi__spark {
    width: 100%;
    height: 48px;
    margin-top: 1rem;
    border-radius: 4px;
    background: linear-gradient(to right, var(--wp--preset--color--surface-container-highest), var(--wp--preset--color--surface-container-high));
    overflow: hidden;
    position: relative;
}
.fnc-kpi__spark svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke-width: 2;
    opacity: .6;
}
.fnc-kpi__spark svg.pri { stroke: var(--wp--preset--color--primary); }
.fnc-kpi__spark svg.sec { stroke: var(--wp--preset--color--secondary); }
.fnc-kpi__badge {
    width: 100%;
    height: 48px;
    margin-top: 1rem;
    border-radius: 4px;
    background: var(--wp--preset--color--surface-container-high);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--wp--preset--font-family--label);
    font-size: .75rem;
    color: var(--wp--preset--color--outline);
}
.fnc-kpi__more {
    margin-top: 1rem;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    font-size: .875rem;
    font-weight: 500;
    color: inherit;
    text-decoration: none;
    transition: color .15s;
}
.fnc-kpi--dark .fnc-kpi__more:hover { color: var(--wp--preset--color--on-primary-container); }
.fnc-kpi__more .material-symbols-outlined { font-size: 18px; }

/* ── 차트 + 에세이 섹션 (8/4 split) ──────────────────── */
.fnc-ins-chart-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
}
@media (min-width: 1024px) {
    .fnc-ins-chart-row { grid-template-columns: 2fr 1fr; }
}

/* 차트 placeholder (좌측) */
.fnc-ins-chart {
    background: var(--wp--preset--color--surface-container-lowest);
    padding: 2rem;
    border-radius: 16px;
}
.fnc-ins-chart__hd {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}
.fnc-ins-chart__hd h3 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--wp--preset--color--on-surface);
    margin: 0 !important;
}
.fnc-ins-chart__frame {
    width: 100%;
    height: 400px;
    background: var(--wp--preset--color--surface-container-low);
    border-radius: 12px;
    position: relative;
    overflow: hidden;
}
.fnc-ins-chart__grid {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2rem 3rem;
    opacity: .2;
    pointer-events: none;
}
.fnc-ins-chart__grid > div {
    width: 100%;
    border-bottom: 1px solid var(--wp--preset--color--outline);
}
.fnc-ins-chart__bars {
    position: absolute;
    left: 3rem;
    right: 3rem;
    bottom: 2rem;
    height: 16rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}
.fnc-ins-chart__bar {
    flex: 1;
    border-radius: 2px 2px 0 0;
}
.fnc-ins-chart__bar--b1 { background: var(--wp--preset--color--secondary-container); height: 40%; }
.fnc-ins-chart__bar--b2 { background: #87d6bd; height: 60%; }
.fnc-ins-chart__bar--b3 { background: var(--wp--preset--color--primary); height: 85%; }
.fnc-ins-chart__bar--b4 { background: var(--wp--preset--color--primary-container); height: 30%; }
.fnc-ins-chart__bar--b5 { background: #1b6d24; height: 70%; }
.fnc-ins-chart__cta {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(251,249,248,.5);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity .3s;
}
.fnc-ins-chart__frame:hover .fnc-ins-chart__cta { opacity: 1; }
.fnc-ins-chart__cta-btn {
    background: var(--wp--preset--color--surface);
    color: var(--wp--preset--color--primary);
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    padding: .5rem 1rem;
    border-radius: 6px;
    border: 1px solid var(--wp--preset--color--outline-variant);
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.fnc-ins-chart__cap {
    margin-top: 1.5rem;
    font-family: var(--wp--preset--font-family--body);
    font-size: .875rem;
    line-height: 1.7;
    color: var(--wp--preset--color--on-surface-variant);
}

/* 데이터 에세이 (우측) */
.fnc-ins-essays { display: flex; flex-direction: column; gap: 2rem; }
.fnc-ins-essays > .fnc-ins-sec__h { margin-bottom: 0 !important; }
.fnc-essay-featured {
    background: var(--wp--preset--color--surface-container-low);
    padding: 1.5rem;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: background .2s;
}
.fnc-essay-featured:hover { background: var(--wp--preset--color--surface-container-high); }
.fnc-essay-pill {
    display: inline-block;
    padding: .2rem .5rem;
    background: rgba(13,99,27,.1);
    color: var(--wp--preset--color--primary);
    font-family: var(--wp--preset--font-family--label);
    font-size: .75rem;
    border-radius: 3px;
    margin-bottom: .75rem;
}
.fnc-essay-featured h4 {
    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 .75rem 0 !important;
    transition: color .15s;
    word-break: keep-all;
}
.fnc-essay-featured:hover h4 { color: var(--wp--preset--color--primary); }
.fnc-essay-featured p {
    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 0 1rem 0;
    word-break: keep-all;
}
.fnc-essay-more {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    color: var(--wp--preset--color--primary);
    font-family: var(--wp--preset--font-family--label);
    font-size: .875rem;
    font-weight: 500;
}
.fnc-essay-more .material-symbols-outlined { font-size: 18px; }

.fnc-essay-list { display: flex; flex-direction: column; gap: 1rem; }
.fnc-essay-list-item {
    display: block;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--wp--preset--color--surface-container-high);
    text-decoration: none;
    color: inherit;
}
.fnc-essay-list-item:last-child { border-bottom: none; }
.fnc-essay-list-item h5 {
    font-family: var(--wp--preset--font-family--headline);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -.01em;
    color: var(--wp--preset--color--on-surface);
    margin: 0 0 .25rem 0 !important;
    transition: color .15s;
    word-break: keep-all;
}
.fnc-essay-list-item:hover h5 { color: var(--wp--preset--color--primary); }
.fnc-essay-list-item__meta {
    font-family: var(--wp--preset--font-family--label);
    font-size: .75rem;
    color: var(--wp--preset--color--on-surface-variant);
}

/* ── Deep Dive Reports (3-col) ───────────────────────── */
.fnc-ins-reports {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) { .fnc-ins-reports { grid-template-columns: repeat(3, 1fr); } }

.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__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(0,0,0,.05);
    opacity: 0;
    transition: opacity .2s;
}
.fnc-report-card:hover .fnc-report-card__tag { opacity: 1; }
.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;
}

/* ═══════════════════════════════════════════════════════════════
   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);
}

/* ── Results list header (sort + active filters) ──────────── */
.fnc-archive-sort-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem !important;
}
.fnc-archive-count {
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.85rem;
    color: var(--wp--preset--color--on-surface-variant);
}
.fnc-archive-count strong { color: var(--wp--preset--color--primary); font-weight: 700; }

/* ── 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(0,0,0,.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;
}
.fnc-archive-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    padding: 0.5rem 1.25rem !important;
    font-family: var(--wp--preset--font-family--label);
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-radius: 0.5rem !important;
    transition: all .15s;
    cursor: pointer;
}
.fnc-archive-btn--primary {
    background: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--on-primary) !important;
    border: 1px solid var(--wp--preset--color--primary);
}
.fnc-archive-btn--primary:hover { background: var(--wp--preset--color--primary-container); }
.fnc-archive-btn--secondary {
    background: transparent;
    color: var(--wp--preset--color--on-surface) !important;
    border: 1px solid var(--wp--preset--color--outline-variant);
}
.fnc-archive-btn--secondary:hover { background: var(--wp--preset--color--surface-container-low); }
.fnc-archive-btn .material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-feature-settings: 'liga';
    font-size: 0.95rem;
}

/* ── 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, #0d631b);
    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, #0d631b);
}

/* 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(0, 0, 0, 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, #0d631b) !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);
}

/* ── 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;
}
