:root { --vf-bg:#d9ddd7; --vf-panel:#172019; --vf-line:#344139; --vf-text:#edf2ee; --vf-muted:#9aa69c; --vf-gold:#f0c66f; --vf-cyan:#68d5e5; }
* { box-sizing:border-box; }
@view-transition { navigation:auto; }
html,body { margin:0; min-height:100%; background:var(--vf-bg); color:var(--vf-text); }
body { overflow:auto; }
.vf-shell { min-height:100dvh; background:var(--vf-bg); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.vf-topbar { position:sticky; top:0; z-index:20; display:grid; grid-template-columns:90px 1fr 90px; align-items:center; min-height:58px; padding:8px 18px; border-bottom:1px solid var(--vf-line); background:rgba(16,23,17,.94); backdrop-filter:blur(14px); }
.vf-topbar > div { text-align:center; }
.vf-topbar strong,.vf-topbar span { display:block; }
.vf-topbar strong { font:600 17px/1.2 Georgia,serif; }
.vf-topbar span { margin-top:3px; color:var(--vf-muted); font-size:9px; text-transform:uppercase; letter-spacing:.11em; }
.vf-topbar > a { color:#c7d0c9; font-size:11px; text-decoration:none; }
.vf-back { justify-self:start; }
.vf-mode-switch { justify-self:end; display:flex; padding:3px; border:1px solid #48564c; border-radius:99px; background:#0e1510; }
.vf-mode-switch a { padding:6px 10px; border-radius:99px; color:#aeb8b0; font-size:10px; font-weight:700; text-decoration:none; white-space:nowrap; }
.vf-mode-switch a:hover { color:var(--vf-gold); }
.vf-mode-switch a.is-active { background:#f3f3ec; color:#172019; }
.vf-intro { display:grid; grid-template-columns:minmax(280px,1.1fr) minmax(320px,.9fr); gap:42px; max-width:1400px; margin:auto; padding:48px 34px 28px; }
.vf-eyebrow { margin:0 0 8px; color:var(--vf-gold); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.vf-intro h1 { max-width:720px; margin:0; font:500 clamp(35px,4.2vw,66px)/.98 Georgia,serif; letter-spacing:-.04em; }
.vf-intro > div > p:last-child { max-width:700px; color:#afbbb1; font-size:14px; line-height:1.55; }
.vf-national-metrics { display:grid; grid-template-columns:1fr 1fr; gap:1px; align-self:end; border:1px solid var(--vf-line); background:var(--vf-line); }
.vf-national-metrics article { min-height:86px; padding:17px; background:#1a251d; }
.vf-national-metrics strong,.vf-national-metrics span { display:block; }
.vf-national-metrics strong { color:var(--vf-gold); font-size:22px; }
.vf-national-metrics span { margin-top:5px; color:var(--vf-muted); font-size:9px; }
.vf-controls { position:sticky; top:58px; z-index:15; display:flex; gap:10px; align-items:end; max-width:1400px; margin:auto; padding:12px 34px; border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid var(--vf-line); background:rgba(16,23,17,.94); backdrop-filter:blur(14px); }
.vf-controls label { display:grid; gap:4px; color:#849087; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; }
.vf-controls select,.vf-controls button { min-height:34px; border:1px solid #465349; border-radius:6px; background:#1b261e; color:#e7ece8; font:600 10px inherit; }
.vf-controls select { min-width:190px; padding:0 30px 0 10px; }
.vf-controls button { margin-left:auto; padding:0 12px; cursor:pointer; }
.vf-focus { max-width:1400px; margin:22px auto 0; padding:0 34px; }
.vf-focus-card { padding:18px; border:1px solid rgba(240,198,111,.35); border-radius:12px; background:linear-gradient(135deg,rgba(240,198,111,.1),rgba(104,213,229,.04)); }
.vf-focus-head { display:flex; gap:14px; align-items:center; margin-bottom:15px; }
.vf-focus-head > i { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--vf-gold); color:#172019; }
.vf-focus-head svg { width:24px; height:24px; }
.vf-focus-head strong,.vf-focus-head span { display:block; }
.vf-focus-head strong { font:600 20px/1.1 Georgia,serif; }
.vf-focus-head span { margin-top:4px; color:var(--vf-muted); font-size:10px; }
.vf-site-money { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:8px; align-items:center; margin:0 0 10px; }
.vf-site-money > span { min-width:0; padding:9px 10px; border:1px solid var(--vf-line); border-radius:7px; background:#101711; }
.vf-site-money small,.vf-site-money strong { display:block; }
.vf-site-money small { color:#829087; font-size:8px; letter-spacing:.08em; }
.vf-site-money strong { margin-top:5px; color:var(--vf-gold); font-size:11px; }
.vf-site-money > b { color:#657168; }
.vf-path { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; gap:8px; align-items:stretch; }
.vf-path article { min-width:0; padding:12px; border-radius:8px; background:#111a13; }
.vf-path article small,.vf-path article strong,.vf-path article span { display:block; }
.vf-path article small { color:#78867c; font-size:8px; font-weight:700; letter-spacing:.09em; }
.vf-path article strong { margin-top:7px; font-size:11px; line-height:1.3; }
.vf-path article span { margin-top:5px; color:#9ca89f; font-size:9px; line-height:1.35; }
.vf-path > b { align-self:center; color:var(--vf-gold); }
.vf-network { max-width:1600px; margin:20px auto 0; padding:0 34px 42px; }
.vf-graph-key { display:flex; justify-content:space-between; gap:18px; margin-bottom:10px; padding:11px 14px; border:1px solid var(--vf-line); border-radius:9px; background:#172019; }
.vf-graph-key strong { color:var(--vf-gold); font-size:11px; }
.vf-graph-key span { color:var(--vf-muted); font-size:9px; text-align:right; }
.vf-graph-scroll { width:100%; overflow:auto; border:1px solid rgba(23,32,25,.22); border-radius:14px; background:radial-gradient(circle at 50% 0,rgba(255,255,255,.72),transparent 42%),#d9ddd7; scrollbar-color:#66736a #c7cdc6; }
.vf-graph { display:block; }
.vf-svg-stage text { fill:#274133; font:700 13px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-transform:uppercase; letter-spacing:1.3px; }
.vf-svg-stage text.detail { fill:#637268; font-size:9px; font-weight:500; text-transform:none; letter-spacing:0; }
.vf-edge { fill:none; stroke:#62c7d5; stroke-width:var(--edge-width); stroke-linecap:round; opacity:.24; transition:opacity .18s,stroke .18s; }
.vf-edge.has-no-value { stroke:#68756c; stroke-dasharray:5 8; opacity:.28; }
.vf-edge.is-selected { stroke:#ffd77f; opacity:1; filter:drop-shadow(0 0 5px rgba(240,198,111,.62)); }
.vf-national-edge path { fill:none; stroke-width:var(--edge-width); stroke-linecap:round; opacity:.62; }
.vf-national-edge.gva path { stroke:#f0c66f; }
.vf-national-edge.lost path { stroke:#e66f5f; opacity:.78; }
.vf-national-edge.made path { stroke:#68d5e5; }
.vf-national-edge.import path { stroke:#ad8cff; opacity:.68; }
.vf-national-edge.feed path { stroke:#9aa39d; stroke-dasharray:7 7; opacity:.55; }
.vf-national-edge.unmeasured path { stroke:#9aa39d; stroke-dasharray:2 9; opacity:.5; }
.vf-national-edge.minor path { opacity:.88; }
.vf-national-heading { fill:#405348; font:700 11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:1.1px; }
.vf-national-node button { border-color:#46534a; }
.vf-national-summary { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.vf-national-summary > strong { color:var(--vf-gold); font:600 19px Georgia,serif; }
.vf-national-summary > span { max-width:540px; color:#a9b5ac; font-size:10px; line-height:1.45; text-align:right; }
.vf-graph-key i { display:inline-block; width:14px; height:5px; margin:0 4px 1px 10px; border-radius:99px; }
.vf-graph-key i.gva { background:var(--vf-gold); }
.vf-graph-key i.lost { background:#e66f5f; }
.vf-graph-key i.made { background:var(--vf-cyan); }
.vf-graph-key i.imports { background:#ad8cff; }
.vf-graph-key i.observed { background:#9aa39d; }
.vf-graph-key i.allocated { background:#68d5e5; }
.vf-graph-key i.modelled { background:var(--vf-gold); }
.vf-graph-key i.hypothetical { background:#e66f5f; }
.vf-model-edge { fill:none; stroke:var(--vf-gold); stroke-width:var(--edge-width); stroke-linecap:round; opacity:.42; }
.vf-model-edge.evidence-observed { stroke:#9aa39d; stroke-dasharray:6 7; }
.vf-model-edge.evidence-allocated { stroke:#68d5e5; }
.vf-model-edge.evidence-hypothetical { stroke:#e66f5f; opacity:.65; }
.vf-model-edge.material-timber { stroke:#f0c66f; opacity:.72; }
.vf-model-edge.material-chip { stroke:#68d5e5; opacity:.78; }
.vf-model-edge.material-energy { stroke:#9bc66f; opacity:.7; stroke-dasharray:5 6; }
.vf-model-edge.material-logs { stroke:#8c745e; opacity:.7; }
.vf-model-edge.material-sawnwood,.vf-model-edge.material-structural { stroke:#d59b3d; opacity:.82; }
.vf-model-edge.material-softwood_sawnwood { stroke:#efc25c; opacity:.86; }
.vf-model-edge.material-hardwood_sawnwood { stroke:#9c5f3d; opacity:.86; }
.vf-model-edge.material-engineered { stroke:#f0965b; opacity:.82; }
.vf-model-edge.material-plywood { stroke:#cba35e; opacity:.84; }
.vf-model-edge.material-composite_panels,.vf-model-edge.material-panels { stroke:#9b78c7; opacity:.84; }
.vf-model-edge.material-mouldings { stroke:#d9869d; opacity:.86; }
.vf-model-edge.material-doors_carpentry { stroke:#c76d52; opacity:.84; }
.vf-model-edge.material-cooperage { stroke:#b17f62; opacity:.82; }
.vf-model-edge.material-other_wood { stroke:#7f667f; opacity:.82; }
.vf-model-edge.material-chips,.vf-model-edge.material-pulp_fibre { stroke:#4fbdc9; opacity:.84; }
.vf-model-edge.material-packaging_paper,.vf-model-edge.material-paper { stroke:#5aa9a6; opacity:.82; }
.vf-model-edge.material-printing_paper { stroke:#6a9bc3; opacity:.84; }
.vf-model-edge.material-tissue_paper { stroke:#8fc7c2; opacity:.84; }
.vf-model-edge.material-paper_manufactures { stroke:#879fa8; opacity:.82; }
.vf-model-edge.material-furniture { stroke:#e486aa; opacity:.8; }
.vf-model-edge.material-residue { stroke:#9bc66f; opacity:.72; stroke-dasharray:5 6; }
.vf-model-edge[style*="--material-color"] { stroke:var(--material-color); }
.vf-model-edge.is-early-export { opacity:.9; stroke-dasharray:3 5; }
.vf-model-edge.is-import-trade { opacity:.52; stroke-dasharray:12 5 2 5; }
.vf-model-edge.is-import-trade.is-import-minor { opacity:.09; }
.vf-model-edge.is-selected { opacity:1; filter:drop-shadow(0 0 4px rgba(240,198,111,.7)); }
.vf-graph-key i.material-logs { background:#8c745e; }
.vf-graph-key i.material-sawnwood,.vf-graph-key i.material-structural { background:#d59b3d; }
.vf-graph-key i.material-softwood_sawnwood { background:#efc25c; }
.vf-graph-key i.material-hardwood_sawnwood { background:#9c5f3d; }
.vf-graph-key i.material-engineered { background:#f0965b; }
.vf-graph-key i.material-plywood { background:#cba35e; }
.vf-graph-key i.material-composite_panels,.vf-graph-key i.material-panels { background:#9b78c7; }
.vf-graph-key i.material-mouldings { background:#d9869d; }
.vf-graph-key i.material-chips,.vf-graph-key i.material-pulp_fibre { background:#4fbdc9; }
.vf-graph-key i.material-packaging_paper,.vf-graph-key i.material-paper { background:#5aa9a6; }
.vf-graph-key i.material-printing_paper { background:#6a9bc3; }
.vf-graph-key i.material-furniture { background:#e486aa; }
.vf-graph-key i.material-residue { background:#9bc66f; }
.vf-model-node.is-hypothetical button { border-style:dashed; border-color:#e66f5f; }
.vf-model-loading { padding:80px 20px; color:var(--vf-muted); text-align:center; }
.vf-model-note { margin:10px 0 0; color:var(--vf-muted); font-size:10px; }
.vf-controls select:disabled { opacity:.45; }
.vf-svg-node { opacity:.96; }
.vf-svg-node foreignObject { overflow:visible; }
.vf-svg-node button { display:flex; align-items:center; gap:10px; width:100%; height:100%; padding:8px 10px; border:1px solid #344238; border-radius:9px; background:rgba(19,27,21,.95); color:var(--vf-text); text-align:left; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.2); }
.vf-svg-node button:hover,.vf-svg-node.is-selected button { border-color:var(--vf-gold); background:#243127; }
.vf-svg-node.is-selected button { box-shadow:0 0 0 3px #f4c967,0 0 0 6px rgba(255,255,255,.82),0 7px 20px rgba(0,0,0,.35); }
.vf-svg-node button:disabled { cursor:default; border-color:#435147; background:#202b23; }
.vf-svg-node i { flex:0 0 30px; display:grid; place-items:center; width:30px; height:30px; border:3px solid #101511; border-radius:50%; background:#fff5df; color:#172019; box-shadow:0 2px 8px rgba(0,0,0,.38); }
.vf-svg-node.product-port i,.vf-svg-node.product-export i { border-radius:6px; background:#68d5e5; color:#17383d; }
.vf-svg-node.product-paper i,.vf-svg-node.product-packaging i { background:#dce9e5; color:#24423b; }
.vf-svg-node.product-panel i,.vf-svg-node.product-furniture i { background:#e3c48a; color:#352a17; }
.vf-svg-node.product-engineered i,.vf-svg-node.product-construction i { background:#f0ad68; color:#39200c; }
.vf-svg-node.product-woodchip i,.vf-svg-node.product-timber i { background:#d7b27a; color:#34220f; }
.vf-svg-node.product-fibre i,.vf-svg-node.product-forest i { background:#83bba3; color:#102d22; }
.vf-svg-node.product-distribution i { background:#c4b7dd; color:#2b1e41; }
.vf-svg-node i svg { width:18px; height:18px; }
.vf-circle-node button { display:grid; place-items:center; padding:0; border-width:2px; border-radius:50%; background:rgba(19,27,21,.96); }
.vf-circle-node button:hover,.vf-circle-node.is-selected button { background:#243127; }
.vf-circle-node i { width:64%; height:64%; flex:none; border:0; background:transparent!important; box-shadow:none; }
.vf-circle-node i svg { width:70%; height:70%; }
.vf-circle-node.product-port button,.vf-circle-node.product-export button { border-radius:50%; background:#68d5e5; color:#17383d; }
.vf-circle-node.product-paper button,.vf-circle-node.product-packaging button { background:#dce9e5; color:#24423b; }
.vf-circle-node.product-panel button,.vf-circle-node.product-furniture button { background:#e3c48a; color:#352a17; }
.vf-circle-node.product-engineered button,.vf-circle-node.product-construction button { background:#f0ad68; color:#39200c; }
.vf-circle-node.product-woodchip button,.vf-circle-node.product-timber button { background:#d7b27a; color:#34220f; }
.vf-circle-node.product-fibre button,.vf-circle-node.product-forest button { background:#83bba3; color:#102d22; }
.vf-native-node { cursor:pointer; outline:none; }
.vf-native-node .vf-node-hit { fill:transparent; stroke:none; pointer-events:all; }
.vf-native-node .vf-node-surface { fill:var(--node-fill,#fff5df); stroke:var(--node-stroke,#101511); stroke-width:3px; vector-effect:non-scaling-stroke; filter:drop-shadow(0 2px 4px rgba(0,0,0,.38)); transition:stroke .16s ease,filter .16s ease; }
.vf-native-node .vf-node-glyph { color:var(--node-ink,#172019); pointer-events:none; }
.vf-native-node .vf-node-glyph svg { display:block; overflow:visible; }
.vf-native-node .vf-node-ring { fill:none; opacity:0; pointer-events:none; vector-effect:non-scaling-stroke; }
.vf-native-node .vf-node-ring-outer { stroke:rgba(255,255,255,.84); stroke-width:7px; }
.vf-native-node .vf-node-ring-inner { stroke:#f4c967; stroke-width:3px; }
.vf-native-node:hover .vf-node-surface,.vf-native-node:focus-visible .vf-node-surface { stroke:#f4c967; filter:drop-shadow(0 3px 6px rgba(0,0,0,.48)); }
.vf-native-node.is-connected .vf-node-surface { stroke:#b99143; stroke-width:2px; }
.vf-native-node.is-primary-selected .vf-node-ring { opacity:1; }
.vf-native-node.is-primary-selected .vf-node-surface { stroke:#101511; filter:drop-shadow(0 4px 7px rgba(0,0,0,.52)); }
.vf-native-node.is-hypothetical .vf-node-surface { stroke:#e66f5f; stroke-dasharray:5 4; }
.vf-native-node[data-vf-group="foreign"] .vf-node-surface { fill:#d8caf5; stroke:#6d50a3; }
.vf-native-node[data-vf-group="foreign"] .vf-node-glyph { color:#342653; }
.vf-native-node[data-vf-group="foreign"] .vf-node-label { font-size:calc(8px * var(--vf-label-boost,1)); }
.vf-native-node[data-vf-group="foreign"] .vf-node-label .detail { font-size:calc(7px * var(--vf-label-boost,1)); }
.vf-native-node[data-vf-group="import-port"] .vf-node-surface { fill:#d6e5e5; stroke:#245966; stroke-dasharray:6 4; }
.vf-native-node[data-vf-group="import-port"] .vf-node-glyph { color:#17383d; }
.vf-native-node[data-vf-group="import-port"] .vf-node-label .detail { fill:#346b77; }
.vf-native-node[data-vf-group="gateway-port"] .vf-node-surface { fill:#79d6e3; stroke:#245966; }
.vf-native-node[data-vf-group="gateway-port"] .vf-node-glyph { color:#17383d; }
.vf-native-node[data-vf-group="gateway-port"] .vf-node-label .detail { fill:#346b77; }
.vf-native-node.is-gateway-role .vf-node-label,.vf-native-node.is-import-role .vf-node-label { font-size:9px; }
.vf-native-node.is-gateway-role .vf-node-label .detail,.vf-native-node.is-import-role .vf-node-label .detail { display:none; }
.vf-origin-lane { pointer-events:none; }
.vf-lane-titles,.vf-column-headings,.vf-processing-subheads { pointer-events:none; paint-order:stroke; stroke:#d9ddd7; stroke-width:6px; stroke-linejoin:round; }
.vf-origin-lane-foreign rect { fill:rgba(85,105,93,.075); stroke:rgba(79,94,84,.5); stroke-width:1.5; stroke-dasharray:12 5 2 5; vector-effect:non-scaling-stroke; }
.vf-origin-lane text { fill:#405348; font:700 11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.vf-origin-lane text.title { font-size:calc(15px * var(--vf-label-boost,1)); letter-spacing:-.15px; }
.vf-origin-lane text .value { fill:#64746a; font-size:calc(10px * var(--vf-label-boost,1)); letter-spacing:.5px; text-transform:uppercase; }
.vf-origin-lane text.detail { fill:#69786e; font-size:calc(9px * var(--vf-label-boost,1)); font-weight:600; letter-spacing:0; }
.vf-origin-lane-foreign text { fill:#405348; }
.vf-origin-lane-export rect { fill:rgba(85,105,93,.035); stroke:rgba(79,94,84,.44); stroke-width:1.5; stroke-dasharray:3 6; vector-effect:non-scaling-stroke; }
.vf-origin-lane-export text { fill:#405348; }
.vf-origin-lane-domestic path { fill:none; stroke:rgba(57,79,66,.32); stroke-width:1.5; vector-effect:non-scaling-stroke; }
.vf-column-headings { pointer-events:none; text-anchor:middle; }
.vf-column-headings rect { fill:rgba(217,221,215,.94); stroke:rgba(57,79,66,.24); stroke-width:1.5px; vector-effect:non-scaling-stroke; }
.vf-column-headings text { fill:#36493d; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.vf-column-headings .kicker { font-size:calc(9px * var(--vf-label-boost,1)); font-weight:800; letter-spacing:1.2px; }
.vf-column-headings .title { font-size:calc(16px * var(--vf-label-boost,1)); font-weight:700; letter-spacing:-.25px; }
.vf-export-callout { pointer-events:none; }
.vf-export-callout rect { fill:var(--material-color,#5f7065); stroke:#33453b; stroke-width:1.5; vector-effect:non-scaling-stroke; filter:drop-shadow(0 2px 3px rgba(44,23,18,.24)); }
.vf-export-callout.material-chips rect { fill:#4fbdc9; stroke:#245966; }
.vf-export-callout.material-logs rect { fill:#8c745e; stroke:#4d3b2e; }
.vf-export-callout text { fill:#fff8f4; font:800 calc(8px * var(--vf-label-boost,1)) -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:.45px; }
.vf-export-callout.material-chips text { fill:#17383d; }
.vf-processing-subheads { pointer-events:none; }
.vf-processing-subheads rect { fill:rgba(217,221,215,.92); stroke:rgba(57,79,66,.2); stroke-width:1px; vector-effect:non-scaling-stroke; }
.vf-processing-subheads text { fill:#657269; font:800 calc(9px * var(--vf-label-boost,1)) -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:1.1px; text-anchor:middle; }
.vf-node-label { fill:#263e31; font:700 calc(10px * var(--vf-label-boost,1))/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; pointer-events:none; paint-order:stroke; stroke:#d9ddd7; stroke-width:5px; stroke-linejoin:round; }
.vf-node-label .name-line { dominant-baseline:hanging; }
.vf-node-label .detail { fill:#5f7065; font-size:calc(8px * var(--vf-label-boost,1)); font-weight:600; }
.vf-model-graph .vf-node-label,.vf-model-graph .vf-export-callout { transition:opacity .16s ease; }
.vf-model-graph.is-overview .vf-native-node:not(.is-major) .vf-node-label,.vf-model-graph.is-overview .vf-export-callout:not(.is-major) { opacity:0; }
.vf-model-graph.is-overview .vf-export-callout,.vf-model-graph.is-overview .vf-native-node[data-vf-group="gateway-port"] .vf-node-label,.vf-model-graph.is-overview .vf-native-node[data-vf-group="import-port"] .vf-node-label { opacity:0; }
.vf-model-graph.is-overview .vf-node-label .detail { display:none; }
.vf-model-graph.is-overview .vf-native-node:hover .vf-node-label,.vf-model-graph.is-overview .vf-native-node:focus-visible .vf-node-label,.vf-model-graph.is-overview .vf-native-node.is-primary-selected .vf-node-label,.vf-model-graph.is-overview .vf-native-node.is-connected .vf-node-label { opacity:1; }
.vf-model-graph.is-overview .vf-native-node:hover .vf-node-label .detail,.vf-model-graph.is-overview .vf-native-node:focus-visible .vf-node-label .detail,.vf-model-graph.is-overview .vf-native-node.is-primary-selected .vf-node-label .detail { display:inline; }
.vf-svg-node span,.vf-svg-node strong,.vf-svg-node small { display:block; min-width:0; }
.vf-svg-node span { overflow:hidden; }
.vf-svg-node strong { overflow:hidden; color:#edf2ee; font-size:10px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.vf-svg-node small { margin-top:4px; overflow:hidden; color:#9aa89e; font-size:8px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.vf-method { max-width:1332px; margin:0 auto; padding:24px 0 60px; border-top:1px solid var(--vf-line); }
.vf-method h2 { margin:0 0 7px; font:500 20px Georgia,serif; }
.vf-method p { max-width:900px; margin:0; color:#91a097; font-size:11px; line-height:1.6; }
@media (max-width:900px) {
  .vf-intro { grid-template-columns:1fr; padding:32px 20px 22px; }
  .vf-controls { padding:10px 20px; overflow-x:auto; }
  .vf-focus { padding:0 20px; }
  .vf-network { padding:0 20px 34px; }
  .vf-method { margin:0 20px; }
}
@media (max-width:560px) {
  .vf-site-money { grid-template-columns:1fr; }
  .vf-site-money > b { justify-self:center; transform:rotate(90deg); }
  .vf-topbar { grid-template-columns:55px 1fr 55px; padding:7px 10px; }
  .vf-topbar strong { font-size:14px; }
  .vf-topbar span { display:none; }
  .vf-national-metrics { grid-template-columns:1fr 1fr; }
  .vf-controls { top:54px; align-items:center; }
  .vf-controls label { min-width:150px; }
  .vf-controls select { min-width:150px; }
  .vf-path { grid-template-columns:1fr; }
  .vf-path > b { justify-self:center; transform:rotate(90deg); }
  .vf-graph-key { align-items:flex-start; flex-direction:column; }
  .vf-graph-key span { text-align:left; }
}

/* Full-screen value-chain explorer */
html,body,#page { width:100%; height:100%; margin:0; overflow:hidden; }
.site-main { margin:0; }
.vf-shell { position:fixed; inset:0; display:grid; grid-template:64px minmax(0,1fr)/1fr; min-height:0; overflow:hidden; }
.vf-topbar { position:relative; top:auto; grid-row:1; min-height:0; }
.vf-topbar { view-transition-name:timber-explorer-header; }
.vf-stage { view-transition-name:timber-explorer-stage; }
.vf-stage { position:relative; grid-row:2; min-width:0; min-height:0; overflow:hidden; }
.vf-controls { position:absolute; z-index:20; top:12px; left:12px; right:12px; display:flex; max-width:none; margin:0; padding:9px; border:1px solid rgba(83,99,87,.8); border-radius:10px; background:rgba(16,23,17,.9); box-shadow:0 9px 30px rgba(0,0,0,.25); backdrop-filter:blur(14px); }
.vf-controls select { min-width:150px; }
.vf-controls button { margin-left:0; }
.vf-controls button:first-of-type { margin-left:auto; }
.vf-network { position:absolute; inset:0; max-width:none; margin:0; padding:0; }
.vf-graph-scroll { position:absolute; inset:0; width:auto; overflow:hidden; border:0; border-radius:0; touch-action:none; cursor:grab; user-select:none; }
.vf-graph-scroll:active { cursor:grabbing; }

/* Lean chart scene: semantic zoom changes labels only at discrete tiers. */
.vf-chart-graph .vf-node-surface { filter:none; transition:stroke .14s ease; }
.vf-chart-graph .vf-node-label { font-size:11px; stroke-width:4px; }
.vf-chart-graph .vf-node-label .detail { font-size:8px; }
.vf-chart-graph[data-zoom-tier="overview"] .vf-chart-node:not(.is-major) .vf-node-label,
.vf-chart-graph[data-zoom-tier="overview"] .vf-port-marker text { opacity:0; }
.vf-chart-graph[data-zoom-tier="overview"] .vf-chart-node .detail { display:none; }
.vf-chart-graph[data-zoom-tier="mid"] .vf-chart-node:not(.is-major):not(.is-primary-selected) .vf-node-label { opacity:0; }
.vf-chart-graph[data-zoom-tier="mid"] .vf-chart-node .detail { display:none; }
.vf-chart-graph .vf-chart-node.is-primary-selected .vf-node-surface { filter:none; stroke:#f4c967; stroke-width:5px; }
.vf-chart-graph .vf-chart-node.is-connected .vf-node-surface { stroke:#b99143; }
.vf-chart-graph .vf-chart-edge { opacity:.44; transition:opacity .12s ease; }
.vf-chart-graph .vf-chart-edge.vf-chart-import { stroke-dasharray:11 5 2 5; opacity:.52; }
.vf-chart-graph .vf-chart-edge.vf-chart-early_export { stroke-dasharray:3 5; opacity:.86; }
.vf-chart-graph .vf-chart-edge.is-selected { filter:none; opacity:1; stroke:#f4c967; }
.vf-chart-lanes rect { vector-effect:non-scaling-stroke; pointer-events:none; }
.vf-chart-lanes rect.foreign { fill:rgba(101,85,154,.065); stroke:rgba(91,70,139,.48); stroke-width:1.5px; stroke-dasharray:12 5 2 5; }
.vf-chart-lanes rect.export { fill:rgba(67,118,129,.05); stroke:rgba(43,104,116,.42); stroke-width:1.5px; stroke-dasharray:3 6; }
.vf-chart-lanes text,.vf-chart-headings text { fill:#405348; font:700 15px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.1px; paint-order:stroke; stroke:#d9ddd7; stroke-width:6px; stroke-linejoin:round; }
.vf-chart-lanes text tspan { fill:#64746a; font-size:10px; letter-spacing:.5px; text-transform:uppercase; }
.vf-chart-headings text { font-size:10px; letter-spacing:1.2px; text-anchor:middle; }
.vf-port-marker { cursor:pointer; }
.vf-port-marker rect { fill:#79d6e3; stroke:#245966; stroke-width:2px; vector-effect:non-scaling-stroke; }
.vf-port-marker svg { color:#17383d; pointer-events:none; }
.vf-port-marker text { fill:#315563; font:700 9px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; paint-order:stroke; stroke:#d9ddd7; stroke-width:4px; stroke-linejoin:round; pointer-events:none; }
.vf-chart-graph[data-zoom-tier="overview"] .vf-chart-edge { opacity:.28; }
.vf-chart-graph[data-zoom-tier="overview"] .vf-chart-edge.vf-chart-early_export { opacity:.6; }
.vf-chart-graph[data-zoom-tier="overview"] .vf-port-marker { opacity:.72; }
.vf-chart-graph[data-zoom-tier="overview"] .vf-chart-node .vf-node-label { opacity:0; }
.vf-chart-graph[data-zoom-tier="overview"] .vf-chart-node.is-major:not(.chart-primary):not(.chart-foreign) .vf-node-label { opacity:1; }
.vf-chart-graph[data-zoom-tier="overview"] .vf-chart-node.is-primary-selected .vf-node-label,
.vf-chart-graph[data-zoom-tier="overview"] .vf-chart-node:hover .vf-node-label,
.vf-chart-graph[data-zoom-tier="overview"] .vf-chart-node:focus-visible .vf-node-label { opacity:1; }
.vf-chart-lanes text { font-size:34px; }
.vf-chart-lanes text tspan { font-size:18px; }
.vf-chart-headings text { font-size:28px; }
.vf-chart-graph .vf-node-label { font-size:28px; }
.vf-chart-graph .vf-node-label .detail { font-size:16px; }
.vf-chart-graph[data-zoom-tier="mid"] .vf-node-label { font-size:16px; }
.vf-chart-graph[data-zoom-tier="mid"] .vf-node-label .detail { font-size:10px; }
.vf-chart-graph[data-zoom-tier="detail"] .vf-node-label { font-size:12px; }
.vf-chart-graph[data-zoom-tier="detail"] .vf-node-label .detail { font-size:8px; }

/* Production atlas: geography first, material routes on demand. */
.vf-production-chart .vf-chart-edge { opacity:0; pointer-events:none; transition:opacity .14s ease; }
.vf-production-chart .vf-chart-edge.is-selected { opacity:.96; stroke:var(--material-color); filter:drop-shadow(0 0 3px rgba(255,255,255,.7)); }
.vf-production-chart .vf-chart-edge.vf-chart-import:not(.is-selected),
.vf-production-chart .vf-chart-edge.vf-chart-early_export:not(.is-selected) { opacity:0; }
.vf-production-chart[data-zoom-tier] .vf-chart-edge:not(.is-selected) { opacity:0!important; }
.vf-production-chart .vf-region-band { pointer-events:none; }
.vf-production-chart .vf-region-band rect { fill:rgba(255,255,255,.14); stroke:rgba(54,73,61,.17); stroke-width:1px; vector-effect:non-scaling-stroke; }
.vf-production-chart .vf-region-band.is-alt rect { fill:rgba(255,255,255,.23); }
.vf-production-chart .vf-region-band text { fill:#34493c; font:800 20px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.2px; paint-order:stroke; stroke:#d9ddd7; stroke-width:6px; stroke-linejoin:round; }
.vf-production-chart .vf-region-band text tspan { fill:#697a6f; font-size:13px; font-weight:700; letter-spacing:.2px; }
.vf-production-chart .vf-production-top rect { fill:rgba(72,86,77,.055); stroke:rgba(54,73,61,.28); stroke-width:1.5px; stroke-dasharray:9 5; vector-effect:non-scaling-stroke; }
.vf-production-chart .vf-production-top text { fill:#52675a; font:800 16px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; paint-order:stroke; stroke:#d9ddd7; stroke-width:6px; stroke-linejoin:round; }
.vf-production-chart .vf-production-top .title { font-size:12px; letter-spacing:1.4px; }
.vf-production-chart .vf-product-dot { fill:var(--product-color); stroke:#f3f4ef; stroke-width:2px; vector-effect:non-scaling-stroke; pointer-events:none; }
.vf-production-chart .vf-chart-node.is-unscaled .vf-node-surface { fill:#e3e6e0; stroke:#77847b; stroke-dasharray:4 4; }
.vf-production-chart .vf-node-label .product-detail { fill:#64766a; font-size:13px; font-weight:700; }
.vf-production-chart[data-zoom-tier="overview"] .vf-chart-node .vf-node-label,
.vf-production-chart[data-zoom-tier="mid"] .vf-chart-node .vf-node-label { opacity:1!important; }
.vf-production-chart[data-zoom-tier="overview"] .vf-chart-node .detail,
.vf-production-chart[data-zoom-tier="overview"] .vf-chart-node .product-detail { display:inline; }
.vf-production-chart[data-zoom-tier="overview"] .vf-node-label { font-size:24px; }
.vf-production-chart[data-zoom-tier="overview"] .vf-node-label .detail { font-size:14px; }
.vf-production-chart[data-zoom-tier="overview"] .vf-node-label .product-detail { font-size:12px; }
.vf-production-chart[data-zoom-tier="mid"] .vf-node-label { font-size:18px; }
.vf-production-chart[data-zoom-tier="mid"] .vf-node-label .detail { font-size:11px; }
.vf-production-chart[data-zoom-tier="mid"] .vf-node-label .product-detail { font-size:10px; }
.vf-production-key { position:absolute; z-index:16; top:14px; left:14px; display:flex; align-items:center; gap:13px; max-width:calc(100% - 28px); padding:9px 11px; border:1px solid rgba(83,99,87,.56); border-radius:9px; background:rgba(16,23,17,.9); color:#dce4de; box-shadow:0 7px 24px rgba(0,0,0,.22); backdrop-filter:blur(10px); pointer-events:none; }
.vf-production-key strong { color:#f0c66f; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.vf-production-key span,.vf-production-key small { color:#aeb9b0; font-size:9px; white-space:nowrap; }
.vf-production-key span { display:flex; align-items:center; gap:6px; }
.vf-production-key span i { width:17px; height:17px; border:2px solid #d7b27a; border-radius:50%; }
.vf-production-key span b { width:7px; height:7px; border:2px solid #f3f4ef; border-radius:50%; background:#d59b3d; }
@media (max-width:760px) {
  .vf-production-key { top:8px; left:8px; right:8px; gap:8px; overflow:hidden; }
  .vf-production-key strong { max-width:104px; }
  .vf-production-key small { display:none; }
  .vf-production-key span { font-size:8px; }
  .vf-production-key span:nth-of-type(2) { display:none; }
}

/* Sankey production view: geography → named processors → products → customers. */
.vf-sankey-chart .vf-sankey-headings { pointer-events:none; }
.vf-sankey-chart .vf-sankey-headings text { fill:#41554a; font:800 13px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:1.4px; paint-order:stroke; stroke:#d9ddd7; stroke-width:6px; stroke-linejoin:round; }
.vf-sankey-chart .vf-sankey-foreign-band { fill:rgba(112,88,153,.055); stroke:rgba(94,70,135,.28); stroke-width:1.5px; stroke-dasharray:9 6; vector-effect:non-scaling-stroke; pointer-events:none; }
.vf-sankey-chart .vf-sankey-link { fill:var(--material-color); stroke:none!important; opacity:.43!important; transition:opacity .14s ease; pointer-events:visiblePainted; cursor:default; }
.vf-sankey-chart .vf-sankey-link.vf-chart-location { fill:#7d9b84; opacity:.29!important; }
.vf-sankey-chart .vf-sankey-link.is-import { opacity:.34!important; }
.vf-sankey-chart:has(.vf-sankey-link.is-selected) .vf-sankey-link:not(.is-selected) { opacity:.055!important; }
.vf-sankey-chart .vf-sankey-link.is-selected { opacity:.88!important; filter:drop-shadow(0 1px 1px rgba(38,45,39,.28)); }
.vf-sankey-node { cursor:pointer; outline:none; }
.vf-sankey-node .vf-sankey-hit { fill:transparent; stroke:none; pointer-events:all; }
.vf-sankey-node .vf-sankey-bar { fill:var(--node-color); stroke:rgba(32,47,38,.64); stroke-width:1.5px; vector-effect:non-scaling-stroke; transition:stroke .14s ease,filter .14s ease; }
.vf-sankey-node.is-foreign .vf-sankey-bar { stroke:#5f4c7c; stroke-dasharray:5 3; }
.vf-sankey-node:hover .vf-sankey-bar,.vf-sankey-node:focus-visible .vf-sankey-bar { stroke:#f4c967; stroke-width:3px; filter:drop-shadow(0 1px 3px rgba(0,0,0,.28)); }
.vf-sankey-node.is-connected .vf-sankey-bar { stroke:#c39139; stroke-width:2.5px; }
.vf-sankey-node.is-primary-selected .vf-sankey-bar { stroke:#f4c967; stroke-width:5px; filter:drop-shadow(0 0 5px rgba(244,201,103,.62)); }
.vf-sankey-label { fill:#263e31; font:700 13px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; paint-order:stroke; stroke:#d9ddd7; stroke-width:5px; stroke-linejoin:round; pointer-events:all; cursor:pointer; }
.vf-sankey-label .detail { fill:#63766a; font-size:10px; font-weight:700; }
.vf-sankey-layer-1:not(.is-major) .vf-sankey-label { opacity:0; }
.vf-sankey-layer-1:hover .vf-sankey-label,.vf-sankey-layer-1:focus-visible .vf-sankey-label,.vf-sankey-layer-1.is-primary-selected .vf-sankey-label,.vf-sankey-layer-1.is-connected .vf-sankey-label { opacity:1; }
.vf-sankey-key { position:absolute; z-index:16; top:14px; left:14px; display:flex; align-items:center; gap:14px; max-width:calc(100% - 28px); padding:9px 11px; border:1px solid rgba(83,99,87,.56); border-radius:9px; background:rgba(16,23,17,.91); color:#dce4de; box-shadow:0 7px 24px rgba(0,0,0,.22); backdrop-filter:blur(10px); pointer-events:none; }
.vf-sankey-key strong { color:#f0c66f; font-size:10px; text-transform:uppercase; letter-spacing:.07em; white-space:nowrap; }
.vf-sankey-key span,.vf-sankey-key small { color:#aeb9b0; font-size:9px; white-space:nowrap; }
.vf-sankey-key span b { color:#eef2ee; font-weight:800; }
@media (max-width:760px) {
  .vf-sankey-key { top:8px; left:8px; right:8px; gap:9px; overflow:hidden; }
  .vf-sankey-key strong { font-size:9px; }
  .vf-sankey-key span { font-size:8px; }
  .vf-sankey-key small { display:none; }
  .vf-sankey-key span:nth-of-type(2) { display:none; }
}
.vf-graph { width:100%; height:100%; min-width:0!important; display:block; }
.vf-graph-key { position:absolute; z-index:15; right:14px; bottom:14px; left:14px; max-width:900px; margin:0; pointer-events:none; box-shadow:0 8px 26px rgba(0,0,0,.25); }
.vf-network.is-overview .vf-graph-key { right:auto; width:max-content; max-width:calc(100% - 28px); }
.vf-network.is-overview .vf-graph-key span { display:none; }
.vf-network.is-overview .vf-graph-key strong { white-space:nowrap; }
.vf-help { position:absolute; z-index:14; right:16px; top:14px; padding:7px 9px; border-radius:6px; background:rgba(16,23,17,.78); color:#9aa69c; font-size:9px; pointer-events:none; }
.vf-origin-key { position:absolute; z-index:15; top:14px; left:14px; display:flex; gap:5px; padding:5px; border:1px solid rgba(83,99,87,.48); border-radius:8px; background:rgba(16,23,17,.84); box-shadow:0 6px 20px rgba(0,0,0,.18); backdrop-filter:blur(10px); pointer-events:none; }
.vf-origin-key span { display:flex; align-items:center; gap:6px; padding:4px 6px; color:#dce4de; font-size:9px; font-weight:700; white-space:nowrap; }
.vf-origin-key i { width:14px; height:0; margin:0; border-radius:0; background:none; }
.vf-origin-key .foreign i { border-top:3px dashed #dce4de; }
.vf-origin-key .early i { border-top:3px dotted #dce4de; }
.vf-origin-key .domestic i { border-top:3px solid #dce4de; }
.vf-processing-balance-dock { position:absolute; z-index:15; top:48px; right:14px; width:min(390px,calc(100% - 28px)); padding:11px 12px 9px; border:1px solid rgba(83,99,87,.58); border-radius:10px; background:rgba(16,23,17,.88); box-shadow:0 9px 28px rgba(0,0,0,.25); backdrop-filter:blur(12px); pointer-events:none; }
.vf-processing-balance-dock > header { display:flex; justify-content:space-between; gap:12px; padding-bottom:7px; border-bottom:1px solid #344137; }
.vf-processing-balance-dock > header strong { color:#f0c66f; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.vf-processing-balance-dock > header span { color:#97a39a; font-size:8px; text-align:right; }
.vf-processing-balance-dock > article { display:grid; grid-template-columns:28px 1fr; gap:9px; align-items:center; padding:8px 0; border-bottom:1px solid rgba(52,65,55,.72); }
.vf-processing-balance-dock > article > i { display:grid; place-items:center; width:28px; height:28px; border-radius:7px; background:#26332a; color:var(--material-colour); }
.vf-processing-balance-dock svg { width:17px; height:17px; }
.vf-processing-balance-dock article strong,.vf-processing-balance-dock article span,.vf-processing-balance-dock article small { display:block; }
.vf-processing-balance-dock article strong { color:#eef2ee; font-size:10px; }
.vf-processing-balance-dock article span { margin-top:2px; color:#c4cec6; font-size:9px; }
.vf-processing-balance-dock article span b { color:var(--material-colour); }
.vf-processing-balance-dock article small,.vf-processing-balance-dock > p { color:#849188; font-size:8px; line-height:1.35; }
.vf-processing-balance-dock > p { margin:7px 0 0; }
.vf-world { transform-origin:0 0; }
.vf-panel { position:fixed; z-index:1001; top:64px; left:0; bottom:0; width:min(400px,92vw); min-width:0; background:#172019; border-right:1px solid #344137; transform:translateX(calc(-100% - 12px)); transition:transform .28s ease; box-shadow:24px 0 70px rgba(0,0,0,.38); }
.vf-panel.is-open { transform:translateX(0); }
.vf-panel-scroll { height:100%; overflow-y:auto; overscroll-behavior:contain; padding:0 26px 32px; scrollbar-color:#536158 #172019; scrollbar-width:thin; }
.vf-panel-scroll::-webkit-scrollbar { width:7px; }
.vf-panel-scroll::-webkit-scrollbar-track { background:#172019; }
.vf-panel-scroll::-webkit-scrollbar-thumb { border:2px solid #172019; border-radius:999px; background:#65736a; }
@media (hover:none) and (pointer:coarse) {
  .vf-panel-scroll { scrollbar-width:none; }
  .vf-panel-scroll::-webkit-scrollbar { display:none; width:0; height:0; }
}
.vf-panel-photo { height:210px; margin:0 -26px 0; background-position:center; background-size:cover; position:relative; }
.vf-panel-photo:after { content:""; position:absolute; inset:42% 0 0; background:linear-gradient(transparent,#172019); }
.vf-panel-close { position:absolute; z-index:2; top:10px; right:12px; display:grid; place-items:center; width:30px; height:30px; padding:0; border:1px solid #536158; border-radius:50%; background:#202b23; color:#eef2ee; font-size:20px; cursor:pointer; }
.vf-panel .vf-focus-card { padding:0; border:0; background:none; }
.vf-panel .vf-focus-head { align-items:flex-start; margin:8px 0 24px; padding-bottom:20px; border-bottom:1px solid #344137; }
.vf-panel .vf-focus-head > i { flex:0 0 48px; width:48px; height:48px; }
.vf-panel .vf-focus-head strong { font-size:26px; line-height:1.04; }
.vf-panel .vf-site-money,.vf-panel .vf-path { grid-template-columns:1fr; }
.vf-panel .vf-site-money > b,.vf-panel .vf-path > b { justify-self:center; transform:rotate(90deg); }
.vf-panel-deck,.vf-panel .vf-model-note { color:#aeb9b0; font-size:12px; line-height:1.55; }
.vf-flow-list { margin:24px 0; }
.vf-flow-list h2 { margin:0 0 9px; color:#f0c66f; font:600 11px/1.2 sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.vf-flow-list article { display:flex; gap:10px; align-items:center; padding:10px 0; border-top:1px solid #344137; }
.vf-flow-list article > i { flex:0 0 34px; display:grid; place-items:center; width:34px; height:34px; border-radius:8px; background:#26332a; color:#f0c66f; }
.vf-flow-list article > i svg { width:20px; height:20px; }
.vf-flow-list strong,.vf-flow-list span { display:block; }
.vf-flow-list strong { font-size:11px; }
.vf-flow-list span { margin-top:4px; color:#93a097; font-size:9px; line-height:1.35; }
.vf-gap-list article { align-items:flex-start; }
.vf-gap-list article p { margin:6px 0 0; color:#aeb9b0; font-size:9px; line-height:1.45; }
.vf-customer-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 24px; }
.vf-customer-stats > span { min-width:0; padding:12px; border:1px solid #344137; border-radius:8px; background:#131b15; }
.vf-customer-stats > span:first-child { grid-column:1/-1; }
.vf-customer-stats small,.vf-customer-stats strong { display:block; }
.vf-customer-stats small { color:#8e9b92; font-size:8px; font-weight:700; letter-spacing:.08em; }
.vf-customer-stats strong { margin-top:6px; color:#f0c66f; font:600 20px Georgia,serif; }
.vf-origin-breakdown,.vf-customer-mix { margin:24px 0; }
.vf-origin-breakdown h2,.vf-customer-mix h2 { margin:0 0 10px; color:#f0c66f; font:600 11px/1.2 sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.vf-origin-bar { display:flex; width:100%; height:12px; overflow:hidden; border-radius:999px; background:#28332b; }
.vf-origin-bar > i { display:block; height:100%; }
.vf-origin-bar > i.domestic { background:#b8c2bc; }
.vf-origin-bar > i.imported { background:repeating-linear-gradient(135deg,#dce2dd 0 4px,#5f6d64 4px 8px); }
.vf-origin-bar > i.early { background:repeating-linear-gradient(90deg,#7e8982 0 3px,transparent 3px 7px); }
.vf-origin-bar > i.manufactured { background:#d9c9a2; }
.vf-origin-labels { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:10px; }
.vf-origin-labels span { color:#aeb9b0; font-size:9px; line-height:1.35; }
.vf-origin-labels span:last-child { text-align:right; }
.vf-origin-labels span > i { display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:50%; }
.vf-origin-labels span > i.domestic { background:#b8c2bc; }
.vf-origin-labels span > i.imported { background:repeating-linear-gradient(135deg,#dce2dd 0 3px,#5f6d64 3px 6px); }
.vf-origin-labels span > i.early { background:repeating-linear-gradient(90deg,#7e8982 0 2px,transparent 2px 4px); border:1px solid #7e8982; }
.vf-origin-labels span > i.manufactured { background:#d9c9a2; }
.vf-origin-labels b { display:block; margin-top:3px; color:#eef2ee; font-size:11px; }
.vf-customer-mix article { padding:11px 0; border-top:1px solid #344137; }
.vf-customer-mix article header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.vf-customer-mix article header span { display:flex; min-width:0; align-items:center; gap:8px; }
.vf-customer-mix article header i { flex:0 0 27px; display:grid; place-items:center; width:27px; height:27px; border-radius:7px; background:#26332a; color:#f0c66f; }
.vf-customer-mix article header i svg { width:17px; height:17px; }
.vf-customer-mix article header strong { font-size:10px; line-height:1.25; }
.vf-customer-mix article header b { flex:0 0 auto; color:#eef2ee; font-size:10px; }
.vf-mix-bar { height:5px; margin:8px 0 6px 35px; overflow:hidden; border-radius:99px; background:#28332b; }
.vf-mix-bar i { display:block; height:100%; border-radius:99px; background:#f0c66f; }
.vf-customer-mix article > small { display:block; margin-left:35px; color:#8e9b92; font-size:8px; line-height:1.35; }
.vf-customer-mix article.material-logs { --material-colour:#8c745e; }
.vf-customer-mix article.material-sawnwood,.vf-customer-mix article.material-structural { --material-colour:#d59b3d; }
.vf-customer-mix article.material-softwood_sawnwood { --material-colour:#efc25c; }
.vf-customer-mix article.material-hardwood_sawnwood { --material-colour:#9c5f3d; }
.vf-customer-mix article.material-engineered { --material-colour:#f0965b; }
.vf-customer-mix article.material-plywood { --material-colour:#cba35e; }
.vf-customer-mix article.material-composite_panels { --material-colour:#9b78c7; }
.vf-customer-mix article.material-mouldings { --material-colour:#d9869d; }
.vf-customer-mix article.material-doors_carpentry { --material-colour:#c76d52; }
.vf-customer-mix article.material-cooperage { --material-colour:#b17f62; }
.vf-customer-mix article.material-other_wood { --material-colour:#9c7e9b; }
.vf-customer-mix article.material-chips,.vf-customer-mix article.material-pulp_fibre { --material-colour:#4fbdc9; }
.vf-customer-mix article.material-packaging_paper { --material-colour:#5aa9a6; }
.vf-customer-mix article.material-printing_paper { --material-colour:#6a9bc3; }
.vf-customer-mix article.material-tissue_paper { --material-colour:#8fc7c2; }
.vf-customer-mix article.material-paper_manufactures { --material-colour:#879fa8; }
.vf-customer-mix article.material-residue { --material-colour:#9bc66f; }
.vf-customer-mix article[class*="material-"] header i { color:var(--material-colour,#f0c66f); }
.vf-customer-mix article[class*="material-"] .vf-mix-bar i { background:var(--material-colour,#f0c66f); }
.vf-import-product header i,.vf-import-product .vf-mix-bar i { color:var(--material-colour,#f0c66f); }
.vf-processing-balances { margin:26px 0; }
.vf-processing-balances > h2 { margin:0 0 5px; color:#f0c66f; font:600 11px/1.2 sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.vf-processing-balances > p { margin:0 0 12px; color:#8e9b92; font-size:9px; line-height:1.45; }
.vf-capability-list { margin:24px 0; }
.vf-capability-list > h2 { margin:0 0 5px; color:#f0c66f; font:600 11px/1.2 sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.vf-capability-list > p { margin:0 0 12px; color:#8e9b92; font-size:9px; line-height:1.45; }
.vf-capability-row { margin:0 0 8px; padding:11px 12px; border:1px solid #344137; border-left:3px solid var(--material-colour); border-radius:8px; background:#131b15; }
.vf-capability-row header { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.vf-capability-row header > span { display:flex; min-width:0; gap:8px; align-items:center; }
.vf-capability-row header i { display:grid; flex:0 0 25px; place-items:center; width:25px; height:25px; border-radius:6px; background:#26332a; color:var(--material-colour); }
.vf-capability-row header svg { width:15px; height:15px; }
.vf-capability-row header strong { color:#eef2ee; font-size:10px; line-height:1.25; }
.vf-capability-row header b { flex:0 0 auto; color:var(--material-colour); font-size:10px; }
.vf-capability-row p { margin:7px 0 3px; color:#c2ccc4; font-size:9px; line-height:1.4; }
.vf-capability-row > span { display:block; color:#87958b; font-size:8px; line-height:1.45; }
.vf-capability-row > small { display:block; margin-top:6px; padding-top:6px; border-top:1px solid rgba(52,65,55,.72); color:#aab5ad; font-size:8px; line-height:1.45; }
.vf-capability-row > small b { color:var(--material-colour); font-weight:700; }
.vf-balance-row { padding:12px 0; border-top:1px solid #344137; }
.vf-balance-row > header { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
.vf-balance-row > header span { display:flex; min-width:0; gap:8px; align-items:center; }
.vf-balance-row > header i { flex:0 0 27px; display:grid; place-items:center; width:27px; height:27px; border-radius:7px; background:#26332a; color:var(--material-colour); }
.vf-balance-row > header i svg { width:17px; height:17px; }
.vf-balance-row > header strong { color:#eef2ee; font-size:10px; line-height:1.25; }
.vf-balance-row > header b { max-width:145px; color:var(--material-colour); font-size:8px; line-height:1.3; text-align:right; }
.vf-balance-pair { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:center; margin:9px 0 0 35px; }
.vf-balance-pair > span { min-width:0; padding:8px; border-radius:7px; background:#131b15; }
.vf-balance-pair small,.vf-balance-pair strong { display:block; }
.vf-balance-pair small { color:#829087; font-size:7px; letter-spacing:.08em; }
.vf-balance-pair strong { margin-top:4px; color:#eef2ee; font-size:10px; line-height:1.25; }
.vf-balance-pair > b { color:var(--material-colour); font-size:8px; text-transform:uppercase; }
.vf-balance-row > p,.vf-balance-row > em { display:block; margin:7px 0 0 35px; color:#8e9b92; font-size:8px; font-style:normal; line-height:1.4; }
.vf-balance-row > em { color:#f0c66f; }
.vf-reference-stats { display:grid; gap:8px; margin-bottom:18px; }
.vf-reference-stats > span,.vf-reference-facts > span { min-width:0; padding:11px 12px; border:1px solid #344137; border-radius:8px; background:#131b15; }
.vf-reference-stats small,.vf-reference-stats strong,.vf-reference-stats em,.vf-reference-facts small,.vf-reference-facts strong { display:block; }
.vf-reference-stats small,.vf-reference-facts small { color:#829087; font-size:8px; font-weight:700; letter-spacing:.08em; }
.vf-reference-stats strong,.vf-reference-facts strong { margin-top:5px; color:#f0c66f; font:600 18px Georgia,serif; }
.vf-reference-stats em { margin-top:4px; color:#929f96; font-size:8px; font-style:normal; line-height:1.35; }
.vf-reference-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:18px; }
.vf-reference-facts strong { color:#eef2ee; font:600 11px/1.35 sans-serif; }
.vf-source-link { display:inline-block; margin-top:14px; color:#f0c66f; font-size:10px; text-decoration:none; }
.vf-source-link:hover { text-decoration:underline; }
.vf-panel .vf-national-summary { display:block; }
.vf-panel .vf-national-summary strong,.vf-panel .vf-national-summary span { display:block; text-align:left; }
.vf-panel .vf-national-summary span { margin-top:12px; }
.vf-scrim { display:none; }
.vf-intro,.vf-method { display:none; }

@media (max-width:760px) {
  .vf-shell { grid-template-rows:54px minmax(0,1fr); }
  .vf-panel { top:auto; left:0; right:0; width:100vw; max-width:none; box-sizing:border-box; height:min(66dvh,620px); border:0; border-radius:18px 18px 0 0; transform:translateY(calc(100% + 12px)); }
  .vf-panel.is-open { transform:translateY(0); }
  .vf-panel-scroll { padding:0 20px 28px; }
  .vf-panel-photo { height:150px; margin:0 -20px; border-radius:18px 18px 0 0; }
  .vf-scrim { display:block; position:fixed; z-index:1000; inset:54px 0 0; background:rgba(5,8,6,.38); opacity:0; pointer-events:none; transition:opacity .25s; }
  .vf-scrim.is-open { opacity:1; pointer-events:auto; }
  .vf-controls { top:8px; left:8px; right:8px; gap:6px; padding:7px; overflow-x:auto; align-items:center; }
  .vf-controls label { min-width:132px; }
  .vf-controls select { min-width:132px; }
  .vf-controls button { flex:0 0 auto; min-height:32px; }
  .vf-controls button:first-of-type { margin-left:0; }
  .vf-help { display:none; }
  .vf-origin-key { top:8px; left:8px; }
  .vf-processing-balance-dock { top:48px; right:8px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:10px; width:calc(100% - 16px); padding:8px 9px 6px; }
  .vf-processing-balance-dock > header { grid-column:1/-1; }
  .vf-processing-balance-dock > header span,.vf-processing-balance-dock article small,.vf-processing-balance-dock > p { display:none; }
  .vf-processing-balance-dock > article { grid-template-columns:23px 1fr; gap:7px; padding:6px 0; }
  .vf-processing-balance-dock > article > i { width:23px; height:23px; }
  .vf-processing-balance-dock article span { font-size:8px; }
  .vf-graph-key { right:8px; bottom:8px; left:8px; padding:9px 10px; }
  .vf-graph-key span { display:none; }
  .vf-topbar { grid-template-columns:36px 1fr auto; padding:0 12px; }
  .vf-topbar strong { font-size:15px; }
  .vf-topbar span { display:none; }
}
