/* AGRICULTURE — a policy report: cover, sticky contents, numbered chapters, data */
.cover { background: var(--sage); position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.cover__rows { position: absolute; right: 0; bottom: 0; width: 60%; height: 100%; color: var(--green); opacity: .22; pointer-events: none; }
.cover__rows path { fill: none; stroke: currentColor; stroke-width: 1; vector-effect: non-scaling-stroke; }
.cover .wrap { position: relative; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 3rem; align-items: end; }
.cover h1 { font-size: clamp(3rem, 1.5rem + 5.6vw, 7rem); line-height: .9; }
.cover h1 em { display: block; color: var(--green); }
.cover__meta { border-top: 2px solid var(--indigo); }
.cover__meta dl { margin: 0; display: grid; grid-template-columns: auto 1fr; }
.cover__meta dt, .cover__meta dd { margin: 0; padding: .7rem 0; border-bottom: 1px solid var(--line-strong); font-size: .92rem; }
.cover__meta dt { font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--slate); padding-right: 1.5rem; padding-top: .85rem; }

.report { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 3rem 5rem; align-items: start; }
.toc { position: sticky; top: calc(var(--header-h) + 1.5rem); max-height: calc(100vh - var(--header-h) - 3rem); overflow-y: auto; }
.toc h2 { font-family: var(--sans); font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--soil-ink); margin-bottom: .8rem; }
.toc ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; border-top: 1px solid var(--line-strong); }
.toc li { margin: 0; counter-increment: toc; border-bottom: 1px solid var(--line); }
.toc a { display: grid; grid-template-columns: 1.8rem 1fr; padding: .5rem 0; font-size: .9rem; line-height: 1.3; color: var(--charcoal); text-decoration: none; }
.toc a::before { content: counter(toc, decimal-leading-zero); font-size: .7rem; font-weight: 700; color: var(--slate); padding-top: .12rem; }
.toc a:hover, .toc a.is-active { color: var(--green); }
.toc a.is-active::before { color: var(--soil-ink); }

.chap { padding-bottom: 3.5rem; margin-bottom: 3.5rem; border-bottom: 1px solid var(--line-strong); }
.chap:last-child { border-bottom: 0; margin-bottom: 0; }
.chap__num { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--soil-ink); margin-bottom: .7rem; }
.chap > h2 { font-size: var(--fs-xl); max-width: 26ch; }
.chap > p, .chap > ul { max-width: 70ch; }
.chap__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.8rem; margin: 2rem 0; }
.chap__two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem 3rem; margin: 2rem 0; align-items: start; }
.chap .plate { margin: 2rem 0; }
.chap .table-scroll { margin: 1.8rem 0; }

.case { background: var(--white); border: 1px solid var(--line); border-top: 3px solid var(--wheat); padding: 1.6rem 1.7rem; margin: 2.2rem 0; }
.case > .meta { display: block; color: var(--wheat-ink); margin-bottom: .5rem; }
.case h3 { font-size: 1.6rem; }

@media (max-width: 1100px) {
  .report { grid-template-columns: minmax(0, 1fr); }
  .toc { position: static; max-height: none; }
  .toc ol { columns: 2 14rem; column-gap: 2rem; }
  .toc li { break-inside: avoid; }
}
@media (max-width: 800px) {
  .cover .wrap, .chap__two { grid-template-columns: minmax(0, 1fr); }
  .chap__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cover__rows { width: 100%; opacity: .12; }
}
@media (max-width: 480px) {
  .chap__stats { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; }
  .case { padding: 1.2rem 1rem; }
}
