@font-face { font-family: Source Serif; src: url('source-serif-4.woff2') format('woff2'); font-weight: 400 700; font-display: swap; }
@font-face { font-family: Jakarta; src: url('plusjakartasans.woff2') format('woff2'); font-weight: 200 800; font-display: swap; }
@font-face { font-family: JetBrains; src: url('jetbrainsmono.woff2') format('woff2'); font-weight: 100 800; font-display: swap; }
:root { --paper:#fff; --ink:#111; --muted:#242424; --accent:#111; --rule:#c9c9c9; --display:"Source Serif",Georgia,serif; --jakarta:Jakarta,Arial,sans-serif; --plex:var(--jakarta); --mono:JetBrains,monospace; }
* { box-sizing:border-box; }
html { scroll-padding-top:20px; }
body { margin:0; color:var(--ink); background:var(--paper); font: 16px/1.65 var(--jakarta); }
:where(h1,h2,h3,h4,p,figure,dl,dd) { margin:0; }
a { color:inherit; }
button { cursor:pointer; }
[hidden] { display:none!important; }
:focus-visible { outline:2px solid #ba7b28; outline-offset:4px; }
.frame { width:min(1290px,calc(100% - clamp(32px,9vw,144px))); margin-inline:auto; }
.skip { position:absolute; z-index:4; left:12px; top:8px; background:var(--paper); padding:8px; transform:translateY(-180%); }
.skip:focus { transform:none; }
.site-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; min-height:78px; gap:12px; padding-block:12px; }
.brand { text-decoration:none; display:inline-flex; align-items:center; gap:11px; }
.brand b,.footer b { font:800 33px/.95 var(--jakarta); letter-spacing:-.09em; }
.brand small { font: 600 9px/1.15 var(--mono); letter-spacing:.1em; max-width:40px; }
.site-header nav { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(10px,3vw,38px); }
.site-header nav a { text-decoration:none; font-size:13px; font-weight:700; }
.site-header nav a:hover { text-decoration:underline; }
.nav-api { border:1px solid var(--rule); padding:6px 11px; }
.eyebrow,.fine { font:500 11px/1.55 var(--mono); letter-spacing:.085em; text-transform:uppercase; }
.eyebrow { color:var(--accent); }
h1,h2,h3 { font-family:var(--display); font-optical-sizing:auto; letter-spacing:-.055em; line-height:.99; font-weight:590; text-wrap:balance; }
h2 { font-size:clamp(34px,5.2vw,73px); }
h3 { font-size:clamp(22px,3vw,39px); }
.film { isolation:isolate; position:relative; background:#20382f; color:#fff; overflow:hidden; }
.film video,.film::after { position:absolute; inset:0; width:100%; height:100%; z-index:-2; object-fit:cover; }
.film::after { content:''; background:rgba(12,26,39,.69); z-index:-1; }
.film .eyebrow { color:#f2e7cf; }
.hero-content { display:grid; grid-template-columns:minmax(0,1fr) minmax(185px,.27fr); gap:clamp(24px,5vw,74px); align-items:end; padding-block:clamp(85px,12vw,174px) clamp(64px,9vw,115px); }
.hero h1 { margin:16px 0 24px; font-size:clamp(48px,8vw,114px); text-wrap:initial; }
.cover-copy > p:not(.eyebrow) { max-width:47ch; font-size:clamp(16px,2.1vw,21px); }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 23px; margin-top:25px; }
.button { display:inline-block; width:fit-content; text-decoration:none; border:1px solid currentColor; background:#fff; color:var(--ink); padding:11px 15px; font-size:13px; font-weight:700; }
.film .button { color:#182b39; background:#f2e9d8; }
.cover-copy > .cover-premise { margin-top:13px; font-size:clamp(14px,1.3vw,17px); max-width:62ch; }
.button:hover { text-decoration:underline; text-underline-offset:3px; }
.text-link { text-underline-offset:4px; font-size:14px; font-weight:700; }
.film-bar { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #ffffff70; padding-block:11px; min-height:50px; font:11px var(--mono); }
.film-control { background:#182a38; color:#fff; border:1px solid #b9c8b9; padding:6px 9px; font:inherit; }
.research,.product-section,.governance { padding-block:clamp(51px,7vw,108px); }
.research { display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1fr); align-items:start; gap:clamp(22px,5vw,77px); }
.section-intro h1,.section-intro h2,.governance h2 { margin:16px 0 24px; }
.section-intro > p:not(.eyebrow),.governance > p:not(.eyebrow) { max-width:60ch; color:var(--muted); line-height:1.65; }
.basis { min-width:0; border:1px solid var(--rule); background:#fff; padding:clamp(12px,2.5vw,24px); }
.basis-head,.basis figcaption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:7px 14px; }
.basis-head h3 { margin:6px 0 10px; font-size:clamp(18px,2.3vw,29px); }
.basis svg { display:block; width:100%; }
.basis-grid { fill:none; stroke:#d7e1eb; stroke-width:1; }
.basis-band,.basis figcaption i { fill:#d8e5ef; background:#d8e5ef; }
.basis-line { fill:none; stroke:#2c5e83; stroke-width:3; }
.basis-labels { font:11px var(--mono); fill:#3a5264; }
.basis-labels text:nth-child(n+5) { text-anchor:middle; }
.basis figcaption { padding-top:9px; color:var(--ink); font:11px/1.45 var(--mono); }
.basis figcaption i { display:inline-block; width:13px; height:9px; }
.basis-controls { display:flex; gap:4px; flex-wrap:wrap; }
.basis-controls button,.code-nav button { border:1px solid var(--rule); padding:5px 8px; background:#fff; color:var(--accent); font:11px var(--mono); }
.basis-controls button[aria-pressed=true],.code-nav button[aria-pressed=true] { background:var(--accent); color:white; }
.products { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:clamp(14px,3vw,36px); margin-top:31px; }
.product { border-top:2px solid var(--ink); background:#fff; padding:clamp(17px,3vw,36px); display:grid; gap:12px; align-content:start; }
.product h3 { margin-block:10px 14px; }
.product p:not(.eyebrow) { color:var(--muted); }
.report .button { margin:16px 0 8px; }
.specimens { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.specimens img { width:100%; height:auto; border:1px solid var(--rule); }
code,pre { font-family:var(--mono); font-size:.85em; }
.api-card code,.endpoints code { overflow-wrap:anywhere; }
.coverage { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(0,1fr); background:var(--paper); color:var(--ink); }
.coverage-plate { display:flex; align-items:end; min-height:385px; }
.coverage-plate::after { background:linear-gradient(transparent 54%,rgb(30 26 17 / 88%)); }
.coverage-plate .film-bar { width:100%; padding-inline:clamp(13px,3vw,39px); border:0; }
.coverage-content { padding:clamp(34px,6vw,86px) clamp(19px,5vw,72px); align-self:center; }
.coverage h2 { margin:10px 0 21px; text-wrap:initial; font-size:clamp(38px,5.1vw,72px); }
.ticker-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(10px,2vw,27px); padding:0; margin:0; list-style:none; }
.ticker-list li { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px; padding:12px 0; border-top:1px solid var(--rule); }
.ticker-list strong,.ticker-list code { display:block; }
.ticker-list code { margin-top:2px; font-size:10px; overflow-wrap:anywhere; }
.governance .text-link { display:inline-block; margin-top:13px; }
.footer { border-top:1px solid var(--rule); padding-block:28px; }
.footer .frame { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:15px 27px; }
.footer p,.footer details { font-size:12px; color:var(--muted); max-width:52ch; }
.api-main { padding-block:clamp(54px,8vw,104px); }
.api-main h1 { font-size:clamp(40px,6.6vw,86px); }
.api-layout { display:grid; grid-template-columns:1fr minmax(0,1fr); gap:clamp(20px,5vw,76px); margin-top:34px; align-items:start; }
.api-layout h2 { font-size:30px; margin:0 0 15px; }
.endpoints > div { border-top:1px solid var(--rule); padding:10px 0; }
.endpoints dt { font-weight:700; color:var(--accent); }
.endpoints dd { font-size:14px; }
.code-panel { background:var(--paper); color:var(--ink); border:1px solid var(--rule); padding:clamp(14px,3vw,30px); min-width:0; }
.code-panel .eyebrow { margin-block:8px; }
.code-panel pre { overflow:auto; padding-bottom:9px; }
.code-panel pre code { font-size:inherit; }
@media(max-width:760px) {
  .research,.products,.api-layout { grid-template-columns:minmax(0,1fr); }
}

.study-tools { display: flex; flex: none; gap: 12px; flex-wrap: wrap; }
.market-section {
  scroll-margin-top: 102px;
  background: var(--paper); color: var(--ink);
  border-block: 1px solid var(--rule);
  padding: clamp(36px, 5vw, 66px) 0;
}
.market-header { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,.6fr); gap: 12px 36px; align-items: end; margin: 7px 0 27px; }
.market-header h2 { font-size:clamp(39px,6vw,84px); }
.market-header p { font-size: 17px; color: var(--muted); max-width: 40ch; }
.market-grid { display: grid; grid-template-columns: minmax(0, 2.38fr) minmax(240px, 1fr); align-items: start; gap: clamp(21px, 4vw, 49px); }
.flow-figure { min-width: 0; border-top: 2px solid var(--ink); }
.flow-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding: 12px 0 13px; }
.flow-header h3 { margin-top: 5px; font-size:clamp(24px, 2.4vw, 35px); line-height:1.13; }
.flow-controls, .flow-choices { display: flex; flex-wrap: wrap; gap: 4px; }
.flow-controls { gap: 7px; }
.flow-controls button { min-height: 35px; padding: 4px 9px; border: 1px solid #a9bdb0; color: var(--accent); background: #fff; font: 600 12px var(--plex); }
.flow-choices button[aria-pressed="true"] { color: #fff; border-color: #115b4c; background: #115b4c; }
.flow-controls button:hover { border-color: var(--ink); }
.flow-art { --flow: #196b56; position: relative; background: #edf3ee; border: 1px solid var(--rule); }
.flow-art[data-crop="corn"] { --flow: #985519; }
.flow-art svg { display: block; width: 100%; height: auto; max-height: 545px; }
.flow-graticule { fill: none; stroke: #d7e3d9; stroke-width: .75; stroke-dasharray: 2 6; }
.flow-states { fill: #dfe9da; stroke: #92a897; stroke-width: 1; stroke-linejoin: round; }
.flow-art[data-crop="soybeans"] [data-state="BR-MT"], .flow-art[data-crop="soybeans"] [data-state="BR-RS"] { fill: #c9dfca; }
.flow-art[data-crop="corn"] :is([data-state="BR-MT"], [data-state="BR-GO"], [data-state="BR-PR"]) { fill: #e7d9b7; }
.flow-line { fill: none; stroke: var(--flow); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 6 4; }
.flow-dot { fill: var(--flow); stroke: #fff; stroke-width: 1.35; }
.map-origin { fill: var(--flow); stroke: #fff; stroke-width: 1.2; }
.map-port { fill: #f9faf6; stroke: #234c3e; stroke-width: 1.4; }
.map-leader { fill: none; stroke: #496a5d; stroke-width: .8; }
.map-origin-text, .map-port-text { fill: #213b2d; font: 600 13px var(--plex); paint-order: stroke; stroke: #edf3ee; stroke-width: 3px; stroke-linejoin: round; }
.map-origin-text { fill: #294d3e; }
.flow-caption { display: grid; justify-content: stretch; gap: 5px; font: 13px/1.45 var(--plex); }
.flow-caption p { color: var(--muted); }
.flow-legend { display: flex; flex-wrap: wrap; gap: 5px 15px; font: 11px var(--mono); margin: 2px 0 5px; }
.flow-legend span { display: flex; gap: 6px; align-items: center; }
.flow-legend i { display: inline-block; width: 9px; height: 9px; }
.flow-origin-key { border-radius: 50%; background: #196b56; }
.flow-port-key { border: 1px solid #234c3e; border-radius: 50%; background: #fff; }
.flow-legend .flow-route-key { width: 14px; height: 0; border-top: 2px dashed #196b56; }
.news-edition { color: var(--muted); font: 11px var(--mono); }
.news-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 clamp(15px,3vw,39px); list-style:none; padding:0; margin:0; }
.news-list li { padding:15px 0 19px; border-bottom:1px solid var(--rule); overflow-wrap:anywhere; }
.news-meta { display: flex; flex-wrap: wrap; gap: 6px 11px; color: var(--accent); font: 10px/1.5 var(--mono); text-transform: uppercase; letter-spacing: .045em; }
.news-list h3 { margin: 4px 0 4px; font: 650 17px/1.21 var(--plex); }
.news-list h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.news-list article > p:not(.news-meta), .news-note { color: var(--muted); font-size: 13px; }
.news-list .news-source { margin-top: 5px; font-weight: 600; }
.news-note { margin-top: 11px; }
@media (max-width: 760px) {
  .market-section { scroll-margin-top: 88px; }
  .market-header, .market-grid { grid-template-columns: 1fr; }
  .market-grid { gap: 27px; }
  .market-header p { font-size: 16px; }
  .map-port-text { font-size: 19px; }
  .map-origin-text { display: none; }
}
@media (prefers-reduced-motion: reduce) { .flow-art:not([data-play="true"]) .flow-dot { visibility: hidden; } }

.editorial { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(20px,6vw,91px); padding-block:clamp(46px,7vw,99px); }
.editorial h2 { font-size:clamp(34px,4.7vw,67px); }
.editorial-copy { align-self:end; color:var(--muted); }
.editorial-copy p + p { margin-top:12px; }
.editorial-copy .text-link { display:inline-block; margin-top:16px; color:var(--accent); }
.signals-section,.access-section,.chapter-surface { color:var(--ink); border-block-start:1px solid var(--rule); background:var(--paper); }
.signals-section,.access-section { padding-block:clamp(46px,7vw,99px); }
.signal-ledger article,.provenance-ledger > div,.editorial-list > div { border-top:1px solid var(--rule); padding-top:13px; }
.signal-ledger h3 { font-size:clamp(22px,2.5vw,34px); margin:8px 0 10px; }
.signal-ledger article > p:not(.eyebrow),.editorial-list dd,.provenance-ledger dd { color:var(--muted); font-size:14px; }
.editorial-list { display:grid; align-content:start; gap:13px; }
.editorial-list dt,.provenance-ledger dt { font-weight:750; margin-bottom:3px; }
.editorial-list a { text-underline-offset:3px; }
@media(max-width:760px) {
  .editorial { grid-template-columns:minmax(0,1fr); }
}

.cover-folio { border-top:1px solid #f2e7cf; padding-top:15px; color:#fff7e8; }
.cover-folio-title { margin:9px 0 15px; font:550 clamp(25px,3vw,43px)/.98 var(--display); letter-spacing:-.045em; }
.cover-folio dl { font:11px/1.45 var(--mono); }
.cover-folio dl > div { display:flex; justify-content:space-between; gap:7px 12px; border-top:1px solid #ffffff75; padding-block:6px; }
.cover-folio dt,.plate-divider { color:#ead4b2; }
.atlas-index { display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap:22px clamp(17px,4vw,58px); padding-block:clamp(26px,4.5vw,62px); }
.atlas-index .index-title { font:560 clamp(27px,3.4vw,47px)/1 var(--display); letter-spacing:-.05em; margin-top:7px; }
.atlas-index ol { list-style:none; margin:5px 0 0; padding:0; }
.atlas-index li { border-top:1px solid var(--rule); }
.atlas-index a { display:flex; align-items:baseline; gap:9px; padding:5px 0; text-decoration:none; font-size:13px; font-weight:650; }
.atlas-index a:hover { text-decoration:underline; text-underline-offset:3px; }
.atlas-index a span { color:var(--accent); font:11px var(--mono); }
.thesis-lede { color:var(--ink); font:500 clamp(21px,2.5vw,36px)/1.15 var(--display); letter-spacing:-.025em; }
.basis-guide path { fill:none; stroke:#a45539; stroke-width:1; stroke-dasharray:3 4; }
.basis-guide circle { fill:#a45539; stroke:#fff; stroke-width:2; }
.basis-hit-areas rect { fill:transparent; cursor:crosshair; }
.products .report { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; column-gap:clamp(12px,2vw,30px); }
.specimens { display:flex; justify-content:center; align-items:center; gap:0; min-width:0; padding:5% 8%; }
.specimens img { width:57%; flex:none; box-shadow:0 8px 15px #3c2b232a; transform:rotate(-7deg); }
.specimens img + img { margin-left:-9%; transform:translateY(8%) rotate(7deg); }
.signal-ledger,.provenance-ledger { margin-top:clamp(20px,4vw,52px); }
.signal-ledger article,.provenance-ledger > div { display:grid; align-items:baseline; padding:14px 0; gap:6px clamp(14px,3vw,37px); }
.signal-ledger article { grid-template-columns:minmax(82px,.32fr) minmax(0,1fr) minmax(0,.88fr); }
.signal-ledger h3 { margin:0; text-wrap:initial; }
.provenance-ledger > div { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.provenance-ledger code { display:inline-block; min-width:16ch; color:var(--accent); }
@media(max-width:960px) {
  .products .report { grid-template-columns:minmax(0,1fr); }
  .specimens { max-width:430px; }
}
@media(max-width:760px) {
  .hero-content,.coverage { grid-template-columns:minmax(0,1fr); }
  .cover-folio { max-width:240px; }
  .cover-folio-title br { display:none; }
  .atlas-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .coverage-plate { min-height:290px; }
  .signal-ledger article,.provenance-ledger > div { grid-template-columns:minmax(0,1fr); }
}

.chapter-wide { grid-column:1 / -1; }
.chapter-secondary { margin-top:13px; }
.chapter-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px clamp(14px,4vw,60px); margin-top:clamp(24px,4vw,58px); }
.chapter-notes article { border-top:1px solid var(--rule); padding-top:14px; }
.chapter-notes h3,.decision-spread h3 { font-size:clamp(24px,2.6vw,36px); margin:12px 0 10px; text-wrap:initial; }
.chapter-notes p:not(.eyebrow),.chapter-ledger dd { font-size:14px; line-height:1.65; }
.chapter-notes .text-link { display:inline-block; margin-top:12px; }
.decision-spread { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1fr); column-gap:clamp(14px,5vw,70px); border-top:1px solid var(--rule); padding-top:24px; }
.chapter-ledger > div { display:grid; grid-template-columns:minmax(125px,.67fr) minmax(0,1fr); gap:4px 15px; border-bottom:1px solid var(--rule); padding:10px 0; }
.chapter-ledger dt { font-weight:750; font-size:14px; }
.chapter-bridge { max-width:78ch; margin-top:24px; border-left:2px solid var(--ink); padding-left:15px; font-size:14px; }
.decision-spread .chapter-bridge { grid-column:1 / -1; }
.product-reading { padding:0 0 0 1.25em; margin:9px 0; font-size:14px; }
.product-reading li + li { margin-top:5px; }
.coverage-content .chapter-secondary { margin:0 0 20px; font-size:14px; max-width:51ch; }
.ticker-list small { display:block; font-size:11px; font-weight:500; }
.governance > p:not(.eyebrow) { max-width:69ch; }
.access-paths { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:760px) {
  .chapter-notes,.decision-spread { grid-template-columns:minmax(0,1fr); }
  .decision-spread { row-gap:12px; }
}
@media(max-width:420px) {
  .chapter-ledger > div { grid-template-columns:minmax(0,1fr); }
}

.kairo-art-defs { position:absolute; }
.kairo-glyph { display:block; width:clamp(29px,3vw,41px); height:auto; flex:none; color:#202020; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.chain-plate,.mode-plate { padding:clamp(14px,2.6vw,34px); border:1px solid var(--rule); }
.chain-plate figcaption,.mode-plate figcaption { display:grid; gap:5px; }
.plate-title { font:560 clamp(24px,3vw,42px)/1 var(--display); letter-spacing:-.045em; }
.plate-note { margin-top:12px; font-size:12px; }
.chain-stages,.mode-list { padding:0; list-style:none; }
.chain-stages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:20px 0 0; }
.chain-stages li { position:relative; min-width:0; padding:10px 12px 11px; border-block:1px solid var(--rule); }
.chain-stages li + li { border-inline-start:1px solid var(--rule); }
.chain-stages li + li::before { content:'→'; position:absolute; top:24px; left:0; transform:translateX(-50%); background:white; padding:0 3px; font:12px var(--mono); }
.chain-stages .kairo-glyph { width:clamp(42px,5.8vw,77px); margin-bottom:9px; }
.chain-stages strong,.chain-stages span { display:block; }
.chain-stages strong { font-size:14px; }
.chain-stages span { font-size:12px; }
.mode-plate .plate-title { font-size:clamp(22px,2.4vw,31px); }
.mode-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 10px; margin:12px 0 0; }
.mode-list li { display:flex; gap:5px; align-items:center; border-top:1px solid var(--rule); padding:5px 0; font-size:11px; line-height:1.35; }
.mode-list .kairo-glyph { width:29px; }
.illustrated-title { display:flex; align-items:center; gap:9px; text-wrap:initial; }
.illustrated-title .kairo-glyph { width:30px; }
@media(max-width:660px) {
  .chain-stages { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .chain-stages li { border-top:0; }
  .chain-stages li:nth-child(-n+2) { border-top:1px solid var(--rule); }
  .chain-stages li:nth-child(3) { border-inline-start:0; }
  .chain-stages li:nth-child(3)::before { content:none; }
}
@media(max-width:360px) {
  .ticker-list { grid-template-columns:minmax(0,1fr); }
}

.brazil-chapter,.news-chapter { border-top:1px solid var(--rule); padding-block:clamp(46px,7vw,102px); }
.brazil-heading { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr); gap:25px clamp(18px,6vw,86px); align-items:end; }
.brazil-stat { padding:13px 0 0 16px; border-left:2px solid var(--ink); }
.brazil-stat-value { margin:7px 0 8px; font:560 clamp(30px,4.8vw,66px)/1 var(--display); letter-spacing:-.05em; }
.brazil-stat p:not([class]),.brazil-stat .text-link { font-size:13px; }
.brazil-stat .text-link { display:inline-block; margin-top:9px; }
.brazil-gallery-header { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:5px 15px; border-top:1px solid var(--ink); margin-top:clamp(24px,5vw,66px); padding:10px 0; }
.brazil-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; padding:1px; background:var(--rule); }
.brazil-specimen { background:var(--paper); min-width:0; }
.brazil-specimen img { display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:cover; }
.brazil-specimen figcaption { padding:clamp(11px,2vw,24px); }
.brazil-specimen figcaption h3 { margin:10px 0 12px; font-size:clamp(26px,3vw,41px); text-wrap:initial; }
.brazil-specimen figcaption p:last-child { margin-top:6px; font-size:12px; }
.brazil-volume { font:500 clamp(19px,3vw,35px)/1.12 var(--mono); letter-spacing:-.06em; }
.brazil-volume span { font-size:.6em; letter-spacing:0; }
.brazil-footnote,.brazil-credits { margin-top:13px; font-size:12px; }
.brazil-credits summary { cursor:pointer; font-weight:700; }
.brazil-credits p { margin-top:5px; }
.brazil-credits ul { margin:6px 0 0; }
.news-edition-band { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 20px; border-block:1px solid var(--rule); margin-top:clamp(20px,4vw,43px); padding:12px 0; }
@media(max-width:760px) {
  .brazil-heading,.news-list { grid-template-columns:minmax(0,1fr); }
  .brazil-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:360px) {
  .brazil-gallery { grid-template-columns:minmax(0,1fr); }
}

.api-main { overflow-wrap:anywhere; }
.api-contents { display:flex; flex-wrap:wrap; gap:8px 18px; border-block:1px solid var(--rule); padding:12px 0; margin:26px 0; }
.api-contents a { font-size:13px; font-weight:700; text-underline-offset:3px; }
.api-reference-section { border-top:1px solid var(--rule); padding-top:21px; margin-top:clamp(26px,4vw,54px); }
.api-contents + .api-reference-section { margin-top:0; padding-top:0; border-top:0; }
.api-reference-section h2 { font-size:clamp(32px,4vw,51px); margin:8px 0 12px; text-wrap:initial; }
.api-reference-section p:not(.eyebrow),.api-layout > section > p:not(.eyebrow) { max-width:75ch; font-size:14px; }
.api-reference-section p + p { margin-top:8px; }
.api-layout .eyebrow + h2 { margin-top:8px; text-wrap:initial; }
.endpoints { margin-top:12px; }
.endpoints a { text-underline-offset:3px; }
.api-field-list { margin-block:14px; }
.api-field-list > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); gap:4px 18px; padding:8px 0; border-top:1px solid var(--rule); }
.api-field-list dt { font-weight:700; }
.api-field-list dt span { margin-left:4px; font-size:11px; font-weight:500; }
.api-field-list dd { font-size:14px; }
.api-nested details,.api-news-contract { border-top:1px solid var(--rule); padding:10px 0; }
.api-nested summary,.api-news-contract summary { cursor:pointer; font-weight:700; }
.api-nested details p,.api-news-contract p { margin-top:6px; }
@media(max-width:500px) {
  .api-field-list > div { grid-template-columns:minmax(0,1fr); }
}

.cases-chapter { border-top:1px solid var(--rule); padding-block:clamp(46px,7vw,102px); }
.case-profiles { margin:clamp(24px,4vw,48px) 0; padding:0; list-style:none; }
.case-profiles > li { display:grid; grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr); gap:10px clamp(14px,5vw,73px); border-top:1px solid var(--rule); padding:17px 0; }
.case-profiles h3 { margin:10px 0 8px; font-size:clamp(23px,3vw,35px); text-wrap:initial; }
.case-profiles ul { margin:0; padding-left:17px; font-size:14px; }
.case-profiles ul li + li { margin-top:7px; }
.cases-visual-label { border-top:1px solid var(--ink); padding-top:12px; }
.cases-visual-title { margin:8px 0 17px; }
.case-plates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(12px,2vw,25px); }
.case-plate { display:flex; flex-direction:column; gap:14px; min-width:0; border:1px solid var(--rule); padding:clamp(14px,2.2vw,28px); }
.case-plate h4 { margin:10px 0 8px; font:550 clamp(22px,2.5vw,33px)/1.1 var(--display); letter-spacing:-.035em; }
.case-plate p:not(.eyebrow) { font-size:13px; line-height:1.6; }
.case-chart { width:100%; min-height:126px; }
.case-axis { font:10px var(--mono); fill:var(--ink); }
.case-legend { display:flex; gap:13px; flex-wrap:wrap; }
.case-legend i { display:inline-block; background:#d8e5ef; width:12px; height:8px; }
.case-legend b { color:#2c5e83; }
.case-payload { margin:0; overflow:auto; padding:10px; border:1px solid var(--rule); font:11px/1.5 var(--mono); }
.case-map-layout,.case-report-spread { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; align-items:center; }
.case-map { width:100%; }
.case-map-pins { fill:#934e37; stroke:#fff; stroke-width:3; }
.case-map-labels { fill:#563028; font:700 23px var(--mono); paint-order:stroke; stroke:#fff; stroke-width:3; }
.case-capacity,.case-report-bars { list-style:none; margin:0; padding:0; }
.case-capacity li { border-top:1px solid var(--rule); padding:4px 0; font-size:12px; }
.case-capacity strong,.case-capacity span { display:block; }
.case-report-spread { align-items:stretch; }
.case-report-page { border:1px solid var(--rule); padding:8px; min-width:0; }
.case-report-page table { border-collapse:collapse; width:100%; font-size:10px; }
.case-report-page caption,.case-report-caption { text-align:left; margin:3px 0 5px; font-weight:700; }
.case-report-page .case-report-caption { font-size:10px; }
.case-report-page th,.case-report-page td { border-top:1px solid var(--rule); padding:3px 0; }
.case-report-page th { text-align:left; font-weight:500; }
.case-report-page td { text-align:right; font-family:var(--mono); }
.case-report-bars li { display:grid; grid-template-columns:minmax(0,1fr) minmax(13px,.6fr) auto; align-items:center; gap:3px; padding:2px 0; font-size:9px; }
.case-report-bars meter { width:100%; accent-color:#2c5e83; }
@media(max-width:760px) {
  .case-profiles > li,.case-plates { grid-template-columns:minmax(0,1fr); }
}

.quality-chapter { border-top:1px solid var(--rule); padding-block:clamp(46px,7vw,102px); }
.quality-heading,.quality-body { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:24px clamp(16px,5vw,72px); }
.quality-heading { align-items:end; }
.quality-availability { border-left:2px solid var(--ink); padding-left:16px; }
.quality-availability p:not(.eyebrow):not(.quality-count),.quality-record p:not(.eyebrow) { font-size:13px; }
.quality-count { margin:5px 0; font:550 clamp(30px,4vw,49px)/1 var(--display); letter-spacing:-.04em; }
.quality-count span { font-size:.65em; }
.quality-chapter .text-link { display:inline-block; margin-top:9px; }
.quality-body { margin-top:clamp(25px,5vw,60px); }
.quality-metrics,.quality-record { border-top:1px solid var(--ink); padding-top:12px; }
.quality-body h3 { margin:7px 0 12px; text-wrap:initial; }
.quality-ledger > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.65fr); gap:4px 14px; border-top:1px solid var(--rule); padding:10px 0; font-size:14px; }
.quality-ledger dt { font-weight:750; }
.quality-record ul { padding-left:17px; margin:0 0 11px; font-size:14px; }
.quality-record li + li { margin-top:5px; }
@media(max-width:760px) {
  .quality-heading,.quality-body { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
  .quality-ledger > div { grid-template-columns:minmax(0,1fr); }
}

.models-chapter { border-top:1px solid var(--rule); padding-block:clamp(46px,7vw,102px); }
.model-comparison { border:1px solid var(--rule); padding:clamp(12px,3vw,36px); margin-top:clamp(20px,4vw,48px); }
.model-figure-head { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:12px 20px; margin-bottom:16px; }
.model-figure-head h3 { margin:12px 0 10px; text-wrap:initial; }
.model-figure-head p:not(.eyebrow),.model-note { font-size:13px; line-height:1.6; }
.model-figure-head p:not(.eyebrow) { margin-top:2px; }
.model-legend { display:flex; flex-wrap:wrap; gap:5px 13px; font-size:11px; }
.model-legend i { display:inline-block; vertical-align:middle; width:19px; border-top:2px solid #171717; margin-right:4px; }
.model-legend span + span i { border-top:2px dashed #24658f; }
.model-chart { display:block; width:100%; height:auto; margin-top:14px; }
.model-grid { stroke:#d9d9d9; fill:none; stroke-width:1; }
.model-axis { fill:#343434; font:12px var(--mono); }
.model-observed,.model-forecast { fill:none; stroke-linejoin:round; stroke-width:2; vector-effect:non-scaling-stroke; }
.model-observed { stroke:#171717; }
.model-forecast { stroke:#24658f; stroke-dasharray:5 3; }
.model-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 16px; margin:16px 0 16px; }
.model-results > div { border-top:1px solid var(--rule); padding-top:8px; }
.model-results dt { font-size:12px; }
.model-results dd { font:550 clamp(18px,2.5vw,30px)/1.1 var(--display); margin-top:4px; }
.model-note { margin-top:12px; }
.model-note + .model-note { margin-top:8px; }
@media(max-width:500px) {
  .model-axis { font-size:15px; }
  .model-results { grid-template-columns:minmax(0,1fr); }
}
.model-validation { margin-top:clamp(25px,5vw,66px); border-top:1px solid var(--ink); padding-top:16px; }
.model-validation h3 { margin:12px 0 18px; text-wrap:initial; }
.model-validation .model-comparison { margin-top:20px; }
.model-comparison h4 { margin:12px 0 10px; font:550 clamp(22px,3vw,36px)/1.08 var(--display); letter-spacing:-.03em; }
.model-comparison figcaption p:not(.eyebrow) { font-size:13px; line-height:1.6; margin-bottom:12px; }
.model-legend span:nth-child(3) i { height:7px; border:0; background:#c9deea; }
.model-dispersion { fill:#c9deea; fill-opacity:.68; }
.model-error-bars { list-style:none; margin:18px 0; padding:0; }
.model-error-bars li { display:grid; grid-template-columns:minmax(0,1fr) minmax(30px,1.5fr) auto; align-items:center; gap:8px; border-top:1px solid var(--rule); padding:11px 0; font-size:13px; }
.model-error-bars meter { width:100%; accent-color:#24658f; }
.model-error-bars strong { font-family:var(--mono); }
@media(max-width:460px) {
  .model-error-bars li { grid-template-columns:minmax(0,1fr) auto; }
  .model-error-bars meter { grid-row:2; grid-column:1 / -1; }
}

.catalog-validation-intro { margin-top:clamp(24px,3.5vw,42px); margin-bottom:18px; }
.catalog-validation-intro h4,.catalog-review h4 { margin:12px 0 16px; font:550 clamp(24px,3.5vw,44px)/1.08 var(--display); letter-spacing:-.04em; }
.catalog-validation-intro p:not(.eyebrow),.catalog-review header p:not(.eyebrow) { max-width:72ch; font-size:14px; line-height:1.65; }
.catalog-review { margin-top:clamp(26px,5vw,64px); padding-top:16px; border-top:1px solid var(--ink); }
.catalog-table-wrap { margin:18px 0 14px; }
.catalog-status { width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
.catalog-status caption { text-align:left; font-size:12px; font-weight:700; padding-bottom:8px; }
.catalog-status th,.catalog-status td { border-top:1px solid var(--rule); padding:11px 12px 11px 0; vertical-align:top; }
.catalog-status tbody tr:last-child > * { border-bottom:1px solid var(--rule); }
.catalog-status thead th { font:550 11px/1.45 var(--mono); text-transform:uppercase; }
.catalog-badge { display:inline-block; border:1px solid var(--rule); padding:3px 5px; font:550 10px/1.4 var(--mono); white-space:nowrap; }
.catalog-benchmark { border-color:#41627a; color:#264c63; }
.catalog-validated { border-color:#2a7a58; color:#18533a; }
.catalog-proxy { border-color:#41627a; color:#264c63; }
.catalog-review { border-color:var(--rule); color:var(--ink); }

.validation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,3vw,36px); margin-top:clamp(18px,3vw,32px); }
.stat-card-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:22px 0 18px; }
.stat-card { border:1px solid var(--rule); padding:15px 18px; background:#fff; }
.stat-card strong { display:block; font:550 clamp(18px,2.2vw,26px)/1.1 var(--display); color:var(--ink); margin:8px 0 6px; }
.stat-card small { display:block; font:11px/1.45 var(--mono); color:var(--muted); }

.antaq-breakdown { list-style:none; padding:0; margin:14px 0 0; }
.antaq-breakdown li { display:grid; grid-template-columns:minmax(110px,.8fr) minmax(30px,1.4fr) minmax(45px,.5fr) auto; align-items:center; gap:8px; border-top:1px solid var(--rule); padding:7px 0; font-size:12px; }
.antaq-breakdown meter { width:100%; accent-color:#325d79; }
.antaq-breakdown strong { font-family:var(--mono); color:var(--ink); }
.antaq-breakdown span.antaq-vol { color:var(--muted); font-size:11px; text-align:right; }

.factor-chips { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.factor-chip { border:1px solid var(--rule); padding:6px 10px; font-size:12px; background:#fff; color:var(--ink); }
.factor-chip code { font-weight:700; color:var(--accent); margin-right:4px; }

/* Interactive Trader Scenario Lab */
.sandbox-container { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr); gap:clamp(16px,3vw,36px); margin-top:20px; align-items:start; }
.sandbox-controls { border:1px solid var(--rule); padding:clamp(16px,2.5vw,26px); background:#fff; }
.sandbox-slider-group { margin-bottom:16px; }
.sandbox-slider-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; font-size:13px; }
.sandbox-slider-header strong { font-weight:600; color:var(--ink); }
.sandbox-slider-header .sandbox-val { font-family:var(--mono); font-size:12px; font-weight:700; color:#24658f; }
.sandbox-slider-group input[type=range] { width:100%; accent-color:#24658f; cursor:pointer; margin:4px 0; }
.sandbox-slider-group small { display:block; font-size:11px; color:var(--muted); line-height:1.4; }
.sandbox-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.sandbox-flows { border:1px solid var(--rule); padding:clamp(16px,2.5vw,26px); background:#fff; margin-top:16px; }

@media(max-width:760px) {
  .validation-grid { grid-template-columns:minmax(0,1fr); }
  .stat-card-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sandbox-container { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:500px) {
  .catalog-status { font-size:12px; line-height:1.4; }
  .catalog-status th,.catalog-status td { padding-right:6px; }
  .catalog-badge { white-space:normal; }
  .stat-card-row { grid-template-columns:minmax(0,1fr); }
  .antaq-breakdown li { grid-template-columns:minmax(0,1fr) auto; }
  .antaq-breakdown meter { grid-row:2; grid-column:1 / -1; }
}
