/* 품목별 현황·전망 — /food-security/commodity-outlook/ */
.co-page {
    --co-ink: #17201d;
    --co-muted: #56635e;
    --co-line: #cfd7d1;
    --co-paper: #f6f5ef;
    --co-white: #fff;
    --co-moss: #345c49;
    --co-moss-dark: #173d32;
    --co-moss-soft: #dce9df;
    --co-wheat: #b68238;
    --co-wheat-soft: #f1e5cc;
    background: var(--co-paper);
    color: var(--co-ink);
    font-family: var(--wp--preset--font-family--body);
    line-height: 1.65;
}

.co-page * { box-sizing: border-box; }
.co-page a { color: inherit; text-decoration: none; }
.co-page a:focus-visible { outline: 3px solid var(--co-wheat); outline-offset: 3px; }
.co-wrap { width: min(calc(100% - 4rem), 1160px); margin: 0 auto; }
.co-kicker { margin: 0; color: var(--co-moss); font-family: var(--wp--preset--font-family--headline); font-size: .74rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.co-kicker::before { display: inline-block; width: 1.5rem; height: 2px; margin: 0 .65rem .22rem 0; background: currentColor; content: ""; }

.co-hero {
    position: relative;
    overflow: hidden;
    padding: 5.4rem 0 0;
    background:
        linear-gradient(90deg, rgba(9, 34, 28, .97) 0%, rgba(14, 53, 43, .92) 48%, rgba(19, 62, 49, .7) 100%),
        url("/wp-content/uploads/2026/07/winter-vegetable-cooking-ingredients.jpg") center 50% / cover no-repeat,
        #102f28;
    color: #edf5f0;
}
.co-hero::after {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 48px 48px;
    content: "";
    mask-image: linear-gradient(90deg, transparent 15%, #000);
    pointer-events: none;
}
.co-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 19rem; gap: 5rem; align-items: end; }
.co-hero .co-kicker { color: #b9d7c7; }
.co-hero__copy h1 { max-width: 13ch; margin: 1rem 0 1.2rem; color: #fff; font-family: var(--wp--preset--font-family--headline); font-size: clamp(2.65rem, 6vw, 4.7rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.04; }
.co-lede { max-width: 43rem; margin: 0; color: #d5e4dc; font-size: 1.08rem; line-height: 1.78; }
.co-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 2rem; }
.co-button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: .6rem; padding: .78rem 1.3rem; border: 1px solid rgba(255,255,255,.48); border-radius: .5rem; font-family: var(--wp--preset--font-family--headline); font-size: .86rem; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.co-page .co-button--primary { border-color: #fff; background: #fff; color: var(--co-moss-dark); box-shadow: 0 .55rem 1.4rem rgba(2, 20, 15, .28); }
.co-button--primary span { font-size: 1rem; }
.co-button--ghost { background: rgba(12, 42, 34, .42); color: #fff; backdrop-filter: blur(.25rem); }
.co-button:hover { transform: translateY(-2px); box-shadow: 0 .75rem 1.6rem rgba(2, 20, 15, .3); }
.co-hero__status { border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; background: rgba(255,255,255,.07); backdrop-filter: blur(.5rem); }
.co-hero__status div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .92rem 1.1rem; border-bottom: 1px solid rgba(255,255,255,.13); }
.co-hero__status div:last-child { border-bottom: 0; }
.co-hero__status span { color: #b9d0c6; font-size: .76rem; }
.co-hero__status strong { color: #fff; font-family: var(--wp--preset--font-family--headline); font-size: .82rem; }
.co-live { display: inline-flex; align-items: center; gap: .45rem; }
.co-live i { width: .48rem; height: .48rem; border-radius: 50%; background: #83c8a8; box-shadow: 0 0 0 .25rem rgba(131,200,168,.14); }
.co-hero__signals { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 4.4rem; border: 1px solid rgba(255,255,255,.16); border-bottom: 0; background: var(--co-white); color: var(--co-ink); }
.co-hero__signals span { display: flex; min-height: 5rem; align-items: center; gap: .8rem; padding: 1rem 1.1rem; border-right: 1px solid var(--co-line); font-size: .82rem; font-weight: 700; }
.co-hero__signals span:last-child { border-right: 0; }
.co-hero__signals b { color: var(--co-wheat); font-family: var(--wp--preset--font-family--headline); font-size: .7rem; }

.co-rail { position: sticky; z-index: 8; top: var(--fnc-header-h, 81px); border-bottom: 1px solid var(--co-line); background: rgba(246,245,239,.94); backdrop-filter: blur(.7rem); }
.co-rail .co-wrap { display: flex; height: 3.65rem; align-items: center; gap: .2rem; overflow-x: auto; scrollbar-width: none; }
.co-rail .co-wrap::-webkit-scrollbar { display: none; }
.co-rail a { padding: .5rem .85rem; border-radius: 2rem; color: var(--co-muted); font-size: .8rem; font-weight: 700; white-space: nowrap; }
.co-rail a:hover { background: var(--co-moss-soft); color: var(--co-moss-dark); }

.co-section { padding: 5rem 0; scroll-margin-top: calc(var(--fnc-header-h, 81px) + 59px); }
.co-heading { display: grid; grid-template-columns: minmax(0, .95fr) minmax(18rem, .75fr); gap: 4.5rem; align-items: end; }
.co-heading > *, .co-data-layout > * { min-width: 0; }
.co-heading h2 { max-width: 19ch; margin: .9rem 0 0; font-family: var(--wp--preset--font-family--headline); font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.16; }
.co-heading > p { margin: 0; color: var(--co-muted); font-size: .95rem; }

.co-production { background: var(--co-white); }
.co-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 2.7rem; border: 1px solid var(--co-line); border-radius: .9rem; overflow: hidden; }
.co-metrics article { min-height: 9.5rem; padding: 1.35rem; border-right: 1px solid var(--co-line); }
.co-metrics article:last-child { border-right: 0; }
.co-metrics span { display: block; color: var(--co-muted); font-size: .75rem; font-weight: 700; }
.co-metrics strong { display: block; margin-top: .75rem; color: var(--co-moss-dark); font-family: var(--wp--preset--font-family--headline); font-size: 2rem; font-weight: 800; letter-spacing: -.04em; line-height: 1.1; }
.co-metrics em { margin-left: .25rem; font-size: .85rem; font-style: normal; }
.co-metrics small { display: block; margin-top: .7rem; color: #74807b; font-size: .7rem; }
.co-data-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(17rem, .72fr); gap: 1.4rem; margin-top: 1.5rem; }
.co-chart { min-width: 0; margin: 0; padding: 1.35rem; border: 1px solid var(--co-line); border-radius: .9rem; background: #fbfbf8; }
.co-chart figcaption { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #e3e7e3; }
.co-chart figcaption strong { font-family: var(--wp--preset--font-family--headline); font-size: .9rem; }
.co-chart figcaption span { max-width: 31rem; color: var(--co-muted); font-size: .74rem; text-align: right; }
.co-chart__scroll { width: 100%; max-width: 100%; overflow-x: auto; }
.co-chart svg { display: block; width: 100%; min-width: 43rem; height: auto; }
.co-chart__grid line { stroke: #dfe4df; stroke-width: 1; }
.co-chart__axis text { fill: #74807b; font-family: var(--wp--preset--font-family--label); font-size: 12px; text-anchor: middle; }
.co-chart__rows text { fill: var(--co-ink); font-family: var(--wp--preset--font-family--headline); font-size: 14px; font-weight: 700; text-anchor: end; }
.co-chart__rows .co-value { fill: var(--co-muted); font-variant-numeric: tabular-nums; text-anchor: start; }
.co-bar--livestock { fill: var(--co-moss); }
.co-bar--crop { fill: var(--co-wheat); }
.co-legend { display: flex; gap: 1rem; justify-content: flex-end; color: var(--co-muted); font-size: .72rem; }
.co-legend span::before { display: inline-block; width: .65rem; height: .65rem; margin-right: .4rem; content: ""; }
.co-legend--livestock::before { background: var(--co-moss); }
.co-legend--crop::before { background: var(--co-wheat); }
.co-reading { display: flex; flex-direction: column; padding: 1.6rem; border-radius: .9rem; background: var(--co-moss-dark); color: #eaf3ee; }
.co-reading__eyebrow { margin: 0; color: #a9cab9; font-family: var(--wp--preset--font-family--headline); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.co-reading h3 { margin: .75rem 0 1.2rem; color: #fff; font-family: var(--wp--preset--font-family--headline); font-size: 1.35rem; letter-spacing: -.025em; line-height: 1.35; }
.co-reading ul { display: grid; gap: .9rem; margin: 0; padding-left: 1.15rem; color: #cbded4; font-size: .78rem; }
.co-reading li strong { color: #fff; }
.co-reading a { margin-top: auto; padding-top: 1.5rem; color: #f1d6aa; font-size: .78rem; font-weight: 800; }
.co-table-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding: 1rem 1.2rem; border: 1px solid var(--co-line); border-bottom: 0; border-radius: .9rem .9rem 0 0; background: #f6f7f3; }
.co-table-head h3 { margin: 0; color: var(--co-moss-dark); font-family: var(--wp--preset--font-family--headline); font-size: .9rem; }
.co-table-link { display: inline-flex; min-height: 2.45rem; align-items: center; gap: .55rem; padding: .55rem .85rem; border-radius: .45rem; background: var(--co-moss-dark); color: #fff !important; font-size: .74rem; font-weight: 800; white-space: nowrap; }
.co-table-link:hover { background: #285847; }
.co-table-wrap { border: 1px solid var(--co-line); border-radius: 0 0 .9rem .9rem; overflow-x: auto; }
.co-table { width: 100%; min-width: 45rem; border-collapse: collapse; background: var(--co-white); }
.co-table th, .co-table td { padding: .78rem 1.05rem; border-top: 1px solid #e5e8e5; font-size: .78rem; text-align: left; }
.co-table thead th { background: #f0f2ee; color: var(--co-muted); font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }
.co-table tbody th { font-family: var(--wp--preset--font-family--headline); }
.co-table tbody td:nth-child(4) { font-variant-numeric: tabular-nums; font-weight: 800; white-space: nowrap; }
.co-source { max-width: 78rem; margin: .85rem 0 0; color: #75807b; font-size: .7rem; line-height: 1.65; }
.co-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.co-directory { background: var(--co-paper); }
/* .co-rail 의 앵커 대상 다수가 .co-group 이다. 헤더 + 레일(59px) 을
   넘겨야 제목이 레일 아래로 들어가지 않는다. */
.co-group { padding: 3rem 0; border-bottom: 1px solid var(--co-line); scroll-margin-top: calc(var(--fnc-header-h, 81px) + 59px); }
.co-group:last-child { border-bottom: 0; }
.co-group__head { display: grid; grid-template-columns: minmax(13rem, .65fr) 1fr; gap: 2rem; align-items: end; margin-bottom: 1.2rem; }
.co-group__head > div { display: flex; align-items: baseline; gap: .75rem; }
.co-group__head span { color: var(--co-wheat); font-family: var(--wp--preset--font-family--headline); font-size: .7rem; font-weight: 800; }
.co-group__head h3 { margin: 0; font-family: var(--wp--preset--font-family--headline); font-size: 1.55rem; letter-spacing: -.025em; }
.co-group__head p { margin: 0; color: var(--co-muted); font-size: .82rem; }
.co-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; }
.co-card { display: flex; min-height: 7.6rem; flex-direction: column; padding: 1rem; border: 1px solid var(--co-line); border-radius: .65rem; background: rgba(255,255,255,.62); }
.co-card > span { font-family: var(--wp--preset--font-family--headline); font-size: .94rem; font-weight: 800; letter-spacing: -.01em; }
.co-card small { margin-top: .35rem; color: var(--co-muted); font-size: .68rem; line-height: 1.4; }
.co-card b { margin-top: auto; padding-top: .75rem; color: #89928e; font-size: .65rem; }
.co-card--live { border-color: #a9c5b6; background: var(--co-moss-soft); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.co-card--live b { color: var(--co-moss-dark); }
.co-card--live:hover { transform: translateY(-2px); border-color: var(--co-moss); box-shadow: 0 .7rem 1.4rem rgba(23,61,50,.1); }

.co-standard { border-top: 1px solid var(--co-line); background: var(--co-white); }
.co-steps { display: grid; grid-template-columns: repeat(5, 1fr); margin: 2.8rem 0 0; padding: 0; border: 1px solid var(--co-line); border-radius: .9rem; overflow: hidden; list-style: none; }
.co-steps li { min-height: 13rem; padding: 1.25rem; border-right: 1px solid var(--co-line); }
.co-steps li:last-child { border-right: 0; }
.co-steps li > span { color: var(--co-wheat); font-family: var(--wp--preset--font-family--headline); font-size: .72rem; font-weight: 800; }
.co-steps h3 { margin: 2.7rem 0 .55rem; font-family: var(--wp--preset--font-family--headline); font-size: 1rem; }
.co-steps p { margin: 0; color: var(--co-muted); font-size: .76rem; }
.co-policy-path { display: grid; grid-template-columns: 1.15fr .85fr; gap: 4rem; margin-top: 1.4rem; padding: 2.4rem; border-radius: .9rem; background: linear-gradient(135deg, var(--co-moss-dark), #2d604e); color: #eaf3ee; }
.co-policy-path .co-kicker { color: #b9d7c7; }
.co-policy-path h3 { max-width: 24ch; margin: .8rem 0; color: #fff; font-family: var(--wp--preset--font-family--headline); font-size: 1.7rem; letter-spacing: -.03em; line-height: 1.3; }
.co-policy-path p { margin: 0; color: #c8dbd1; font-size: .86rem; }
.co-policy-path__links { display: grid; align-content: center; }
.co-policy-path__links a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.2); color: #fff; font-size: .82rem; font-weight: 800; }

.co-sources { padding: 3.2rem 0; background: #e9e9e3; }
.co-sources .co-wrap { display: grid; grid-template-columns: .5fr 1.5fr; gap: 4rem; }
.co-sources h2 { margin: 0; font-family: var(--wp--preset--font-family--headline); font-size: .92rem; letter-spacing: .06em; text-transform: uppercase; }
.co-sources p { margin: 0; color: var(--co-muted); font-size: .78rem; }
.co-sources ul { display: grid; gap: .35rem; margin: 1rem 0 0; padding-left: 1.1rem; }
.co-sources li { color: var(--co-muted); font-size: .74rem; }
.co-sources a:hover { color: var(--co-moss-dark); text-decoration: underline; }

@media (max-width: 920px) {
    .co-hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .co-hero__status { max-width: 28rem; }
    .co-hero__signals { grid-template-columns: repeat(3, 1fr); }
    .co-hero__signals span:nth-child(3) { border-right: 0; }
    .co-hero__signals span:nth-child(-n+3) { border-bottom: 1px solid var(--co-line); }
    .co-heading, .co-data-layout, .co-policy-path { grid-template-columns: 1fr; gap: 1.5rem; }
    .co-metrics { grid-template-columns: repeat(2, 1fr); }
    .co-metrics article:nth-child(2) { border-right: 0; }
    .co-metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--co-line); }
    .co-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .co-steps { grid-template-columns: repeat(2, 1fr); }
    .co-steps li { border-bottom: 1px solid var(--co-line); }
    .co-steps li:nth-child(2n) { border-right: 0; }
    .co-steps li:last-child { grid-column: 1 / -1; min-height: 9rem; border-bottom: 0; }
}

@media (max-width: 620px) {
    .co-wrap { width: min(calc(100% - 2.5rem), 1160px); }
    .co-hero { padding-top: 3.8rem; }
    .co-lede { font-size: .96rem; }
    .co-hero__signals { grid-template-columns: 1fr 1fr; }
    .co-hero__signals span { min-height: 4.4rem; }
    .co-hero__signals span:nth-child(3) { border-right: 1px solid var(--co-line); }
    .co-hero__signals span:nth-child(2n) { border-right: 0; }
    .co-hero__signals span:nth-child(-n+4) { border-bottom: 1px solid var(--co-line); }
    .co-hero__signals span:last-child { grid-column: 1 / -1; }
    .co-section { padding: 4rem 0; }
    .co-heading { gap: 1.2rem; }
    .co-heading h2 { font-size: 2rem; }
    .co-metrics { grid-template-columns: 1fr; }
    .co-metrics article { min-height: 8.5rem; border-right: 0; border-bottom: 1px solid var(--co-line); }
    .co-metrics article:nth-child(3) { border-bottom: 1px solid var(--co-line); }
    .co-chart { padding: 1rem; }
    .co-chart figcaption { display: block; }
    .co-chart figcaption span { display: block; margin-top: .4rem; text-align: left; }
    .co-table-head { align-items: flex-start; flex-direction: column; }
    .co-table-link { width: 100%; justify-content: space-between; }
    .co-group__head { grid-template-columns: 1fr; gap: .5rem; }
    .co-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .co-card { min-height: 7.2rem; }
    .co-steps { grid-template-columns: 1fr; }
    .co-steps li, .co-steps li:nth-child(2n) { min-height: 9rem; border-right: 0; }
    .co-steps li:last-child { grid-column: auto; }
    .co-steps h3 { margin-top: 1.8rem; }
    .co-policy-path { padding: 1.6rem; }
    .co-sources .co-wrap { grid-template-columns: 1fr; gap: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
    .co-page * { scroll-behavior: auto !important; transition: none !important; }
}

/* 전체 농업생산액 부가정보 — /food-security/commodity-outlook/production-value/ */
.cpv-page {
    --cpv-ink: #17201d;
    --cpv-muted: #5b6762;
    --cpv-line: #d5dbd6;
    --cpv-paper: #f7f6f1;
    --cpv-green: #17463f;
    background: var(--cpv-paper);
    color: var(--cpv-ink);
    font-family: var(--wp--preset--font-family--body);
    line-height: 1.65;
}
.cpv-page * { box-sizing: border-box; }
.cpv-page a { color: inherit; }
.cpv-page a:focus-visible { outline: 3px solid #b68238; outline-offset: 3px; }
.cpv-wrap { width: min(calc(100% - 3rem), 1080px); margin: 0 auto; }
.cpv-header { padding: 3.2rem 0 2.6rem; border-bottom: 1px solid var(--cpv-line); background: #fff; }
.cpv-back { display: inline-flex; align-items: center; gap: .45rem; color: var(--cpv-green); font-size: .78rem; font-weight: 800; text-decoration: none; }
.cpv-header h1 { max-width: 18ch; margin: 1.15rem 0 .8rem; font-family: var(--wp--preset--font-family--headline); font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.12; }
.cpv-lede { max-width: 48rem; margin: 0; color: var(--cpv-muted); font-size: .96rem; }
.cpv-meta { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; margin: 1.2rem 0 0; padding: 0; color: var(--cpv-muted); font-size: .72rem; list-style: none; }
.cpv-meta strong { color: var(--cpv-ink); }
.cpv-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 2rem; border: 1px solid var(--cpv-line); border-radius: .65rem; overflow: hidden; background: #fff; }
.cpv-summary div { padding: 1rem 1.1rem; border-right: 1px solid var(--cpv-line); }
.cpv-summary div:last-child { border-right: 0; }
.cpv-summary span { display: block; color: var(--cpv-muted); font-size: .68rem; }
.cpv-summary strong { display: block; margin-top: .35rem; color: var(--cpv-green); font-family: var(--wp--preset--font-family--headline); font-size: 1.25rem; }
.cpv-main { padding: 2.4rem 0 4.5rem; }
.cpv-breakdown { display: grid; grid-template-columns: minmax(14rem, .8fr) minmax(0, 1.2fr); gap: 1.5rem 2.6rem; margin: 0 0 2rem; padding: 1.7rem; border: 1px solid var(--cpv-line); border-radius: .75rem; background: #fff; }
.cpv-breakdown__head { grid-column: 1 / -1; padding-bottom: 1.1rem; border-bottom: 1px solid var(--cpv-line); }
.cpv-breakdown__kicker { margin: 0; color: #8b642d; font-family: var(--wp--preset--font-family--headline); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cpv-breakdown h2 { margin: .45rem 0 .45rem; font-family: var(--wp--preset--font-family--headline); font-size: 1.55rem; letter-spacing: -.035em; line-height: 1.22; }
.cpv-breakdown__head > p:last-child { max-width: 48rem; margin: 0; color: var(--cpv-muted); font-size: .76rem; }
.cpv-breakdown__chart { align-self: center; margin: 0; text-align: center; }
.cpv-breakdown__chart svg { display: block; width: min(100%, 15.5rem); height: auto; margin: 0 auto; overflow: visible; }
.cpv-breakdown__track { stroke: #edf1ed; }
.cpv-breakdown__segment { stroke-linecap: butt; }
.cpv-breakdown__segment--1 { stroke: #17463f; }
.cpv-breakdown__segment--2 { stroke: #3f6d5d; }
.cpv-breakdown__segment--3 { stroke: #7f9b87; }
.cpv-breakdown__segment--4 { stroke: #b68238; }
.cpv-breakdown__segment--5 { stroke: #8a7761; }
.cpv-breakdown__segment--6 { stroke: #747c75; }
.cpv-breakdown__chart-label { fill: var(--cpv-muted); font-family: var(--wp--preset--font-family--body); font-size: 10px; }
.cpv-breakdown__chart-value { fill: var(--cpv-green); font-family: var(--wp--preset--font-family--headline); font-size: 17px; font-weight: 800; letter-spacing: -.03em; }
.cpv-breakdown__chart-share { fill: var(--cpv-muted); font-family: var(--wp--preset--font-family--headline); font-size: 9px; font-weight: 700; }
.cpv-breakdown__chart figcaption { max-width: 18rem; margin: .55rem auto 0; color: var(--cpv-muted); font-size: .68rem; }
.cpv-breakdown__table-wrap { align-self: center; overflow-x: auto; }
.cpv-breakdown__table { width: 100%; min-width: 28rem; border-collapse: collapse; }
.cpv-breakdown__table th, .cpv-breakdown__table td { padding: .68rem .75rem; border-bottom: 1px solid #e7ebe7; font-size: .73rem; text-align: left; }
.cpv-breakdown__table thead th { background: #eef2ee; color: var(--cpv-muted); font-size: .64rem; letter-spacing: .035em; }
.cpv-breakdown__table tbody th { font-family: var(--wp--preset--font-family--headline); }
.cpv-breakdown__table td:nth-child(n+2), .cpv-breakdown__table th:nth-child(n+2) { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cpv-breakdown__table tbody td:last-child { color: var(--cpv-green); font-family: var(--wp--preset--font-family--headline); font-weight: 800; }
.cpv-breakdown__table tfoot th, .cpv-breakdown__table tfoot td { border-top: 1px solid var(--cpv-green); border-bottom: 0; font-weight: 800; }
.cpv-breakdown__swatch { display: inline-block; width: .58rem; height: .58rem; margin-right: .5rem; vertical-align: -.02rem; }
.cpv-breakdown__swatch--1 { background: #17463f; }
.cpv-breakdown__swatch--2 { background: #3f6d5d; }
.cpv-breakdown__swatch--3 { background: #7f9b87; }
.cpv-breakdown__swatch--4 { background: #b68238; }
.cpv-breakdown__swatch--5 { background: #8a7761; }
.cpv-breakdown__swatch--6 { background: #747c75; }
.cpv-breakdown__note { grid-column: 1 / -1; margin: 0; padding-top: .85rem; border-top: 1px solid var(--cpv-line); color: var(--cpv-muted); font-size: .65rem; }
.cpv-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.cpv-note { margin: 0 0 1.5rem; padding: 1rem 1.1rem; border-left: 3px solid #b68238; background: #fff; color: var(--cpv-muted); font-size: .78rem; }
.cpv-jump { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 2.3rem; padding: 0; list-style: none; }
.cpv-jump a { display: block; padding: .42rem .7rem; border: 1px solid var(--cpv-line); border-radius: 999px; background: #fff; color: var(--cpv-muted); font-size: .7rem; font-weight: 700; text-decoration: none; }
.cpv-jump a:hover { border-color: var(--cpv-green); color: var(--cpv-green); }
/* production-value 페이지에는 레일이 없다 — 헤더만 넘긴다. */
.cpv-group { margin-top: 2.7rem; scroll-margin-top: calc(var(--fnc-header-h, 81px) + 1rem); }
.cpv-group:first-of-type { margin-top: 0; }
.cpv-group__head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.cpv-group h2 { margin: 0; font-family: var(--wp--preset--font-family--headline); font-size: 1.35rem; letter-spacing: -.025em; }
.cpv-group__head span { color: var(--cpv-muted); font-size: .7rem; }
.cpv-table-wrap { overflow-x: auto; border: 1px solid var(--cpv-line); border-radius: .6rem; background: #fff; }
.cpv-table { width: 100%; min-width: 42rem; border-collapse: collapse; }
.cpv-table th, .cpv-table td { padding: .68rem .9rem; border-bottom: 1px solid #e7ebe7; font-size: .76rem; text-align: left; }
.cpv-table tr:last-child th, .cpv-table tr:last-child td { border-bottom: 0; }
.cpv-table thead th { background: #eef2ee; color: var(--cpv-muted); font-size: .65rem; letter-spacing: .04em; text-transform: uppercase; }
.cpv-table tbody th { width: 32%; font-family: var(--wp--preset--font-family--headline); }
.cpv-table .cpv-value { width: 22%; text-align: right; font-variant-numeric: tabular-nums; font-weight: 800; white-space: nowrap; }
.cpv-table .cpv-status { color: var(--cpv-muted); }
.cpv-table .cpv-empty { color: #8a7770; font-weight: 600; }
.cpv-source { margin-top: 3rem; padding-top: 1.3rem; border-top: 1px solid var(--cpv-line); color: var(--cpv-muted); font-size: .72rem; }
.cpv-source p { margin: .35rem 0; }
.cpv-source a { color: var(--cpv-green); font-weight: 700; }

@media (max-width: 760px) {
    .cpv-wrap { width: min(calc(100% - 2rem), 1080px); }
    .cpv-summary { grid-template-columns: repeat(2, 1fr); }
    .cpv-summary div:nth-child(2) { border-right: 0; }
    .cpv-summary div:nth-child(-n+2) { border-bottom: 1px solid var(--cpv-line); }
    .cpv-breakdown { grid-template-columns: 1fr; gap: 1.5rem; }
    .cpv-breakdown__head { grid-column: auto; }
    .cpv-breakdown__note { grid-column: auto; }
    .cpv-group__head { align-items: flex-start; flex-direction: column; gap: .25rem; }
}

@media (max-width: 460px) {
    .cpv-header { padding-top: 2.4rem; }
    .cpv-summary { grid-template-columns: 1fr; }
    .cpv-summary div { border-right: 0; border-bottom: 1px solid var(--cpv-line); }
    .cpv-summary div:last-child { border-bottom: 0; }
    .cpv-breakdown { padding: 1.25rem; }
    .cpv-breakdown__table { min-width: 0; table-layout: fixed; }
    .cpv-breakdown__table th, .cpv-breakdown__table td { padding: .62rem .35rem; font-size: .66rem; }
    .cpv-breakdown__table th:first-child { width: 44%; }
    .cpv-breakdown__table th:nth-child(2) { width: 38%; }
    .cpv-breakdown__table th:nth-child(3) { width: 18%; }
    .cpv-breakdown__table thead th { font-size: .56rem; line-height: 1.25; white-space: normal; }
    .cpv-breakdown__swatch { margin-right: .35rem; }
}
