/* /value-chain/ginning/ : one bale, followed from the saw to the blowroom. Classes, variables and keyframes are
   prefixed vc-a-gn-. HTML is the composed end state; every pre-state sits under :root[data-m-go] and, for the staged
   entrances, under a [data-gn-stage] that has not yet received data-gn-on (set by client.ts when about 38 percent of
   the stage is in view). Moves use transform, opacity and clip-path only. Reduced motion and Calm show the finished
   state with no transitions. */
body[data-page="value-chain-ginning"] {
  --gn-night: #072d2b;
  --gn-forest: #0e4d4a;
  --gn-deep: #06222a;
  --gn-indigo: #2c3e7a;
  --gn-sage: #6bb68f;
  --gn-leaf: #3f8f6b;
  --gn-ochre: #c98a2b;
  --gn-paper: #f6f4ef;
  --gn-ink: #1d2826;
  --gn-ink2: #33403d;
  --gn-hi: #e9f0ec;
  --gn-hi2: #d3e3da;
  --gn-amber: #f2cd8a;
  --gn-mint: #a8dcbd;
  --gn-c: min(1440px, 100% - 96px);
  --gn-ease: cubic-bezier(.16, 1, .3, 1);
}
@media (max-width: 640px) { body[data-page="value-chain-ginning"] { --gn-c: calc(100% - 32px); } }
body[data-page="value-chain-ginning"] main { overflow-x: clip; }
:root:not([data-m-go]) body[data-page="value-chain-ginning"] main * { transition-duration: 0s !important; transition-delay: 0s !important; }

/* ---------- shared atoms ---------- */
.vc-a-gn-kick { display: flex; align-items: center; gap: 10px; margin: 0; font: 600 13px/1.6 var(--gft-font-mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--gn-hi2); }
.vc-a-gn-kick--ink { color: var(--gn-ink2); }
.vc-a-gn-lab { font: 600 13px/1.4 var(--gft-font-mono); letter-spacing: 0.06em; text-transform: uppercase; }
.vc-a-gn-dial { display: inline-block; flex: none; color: var(--gn-sage); }
.vc-a-gn-out { font: 700 16px/1.3 var(--gft-font-mono); font-variant-numeric: tabular-nums; }
.vc-a-gn-sec { position: relative; }
.vc-a-gn-p { margin: 0; max-width: 62ch; font-size: 17px; line-height: 1.6; text-wrap: pretty; }
.vc-a-gn-lede { margin: 14px 0 0; max-width: 60ch; font-size: 18px; line-height: 1.55; color: var(--gn-hi); }
.vc-a-gn-eb { display: flex; align-items: center; gap: 10px; }
body[data-page="value-chain-ginning"] .gft-eyebrow { font-size: 13px; letter-spacing: 0.08em; }
body[data-page="value-chain-ginning"] .gft-cite { position: relative; min-height: 24px; padding: 1px 8px; margin-inline: 2px; border-radius: 999px; font-size: 13px; line-height: 1.5; }
body[data-page="value-chain-ginning"] .gft-cite::after { content: ""; position: absolute; inset: -10px -4px; }
.vc-a-gn-sec h2 { letter-spacing: -0.045em; }
.vc-a-gn-run { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px; border: 1px solid #f6f4efaa; background: transparent; color: var(--gn-paper); font: 650 16px var(--gft-font-display); transition: background-color 220ms, color 220ms; }
.vc-a-gn-run__i { width: 0; height: 0; border-left: 10px solid currentColor; border-block: 6px solid transparent; }
.vc-a-gn-run[aria-pressed="true"] .vc-a-gn-run__i { width: 10px; height: 12px; border: 0; border-inline: 3px solid currentColor; }
.vc-a-gn-run:hover { border-color: var(--gn-ochre); }
.vc-a-gn-run[aria-pressed="true"] { background: var(--gn-paper); color: var(--gn-night); }

/* ---------- the stage trigger: kit entrances inside a stage wait for it ---------- */
:root[data-m-go] [data-gn-stage][data-m]:not([data-gn-on]),
:root[data-m-go] [data-gn-stage]:not([data-gn-on]) :is([data-m], .m-k, .m-ln, .m-fd, .m-c, .m-w) { animation-play-state: paused !important; }
@keyframes vc-a-gn-in-rise { from { opacity: 0.3; transform: translateY(26px); } }
@keyframes vc-a-gn-in-drop { from { opacity: 0.3; transform: translateY(-26px); } }
@keyframes vc-a-gn-in-fade { from { opacity: 0.3; } }
@keyframes vc-a-gn-in-pop { from { opacity: 0.3; transform: scale(0.86); } }
@keyframes vc-a-gn-in-deal { from { opacity: 0.2; transform: scale(0.55); } }
@keyframes vc-a-gn-in-fall { from { opacity: 0.4; transform: translateY(-120px) scale(1.9); } }
@keyframes vc-a-gn-in-wipe { from { clip-path: inset(-80px 70% -80px -80px); } to { clip-path: inset(-80px -80px -80px -80px); } }
@keyframes vc-a-gn-in-grow { from { transform: scaleX(calc(var(--v, 1) * 0.12)); } }
@keyframes vc-a-gn-in-cal { from { transform: scaleX(0); } }

/* ---------- loops (on screen only; off under reduced motion and Calm) ---------- */
[data-m-live~="gn-turn"], [data-m-live~="gn-turn-slow"], [data-m-live~="gn-run"], [data-m-live~="gn-rise"], [data-m-live~="gn-scan"], [data-m-live~="gn-scan-x"], [data-m-live~="gn-sweep"], [data-m-live~="gn-strap"], [data-m-live~="gn-fall"], [data-m-live~="gn-ride"], [data-m-live~="gn-rideN"], [data-m-live~="gn-bob"] { overflow-anchor: none; }
svg [data-m-live~="gn-turn"], svg [data-m-live~="gn-turn-slow"], svg [data-m-live~="pulse-node"], svg [data-m-live~="breathe"], svg [data-m-live~="drift"] { transform-box: fill-box; transform-origin: 50% 50%; }
:root[data-m-go] [data-m-live~="gn-turn"][data-m-on] { animation-name: vc-a-gn-turn; animation-duration: 16s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-sawfast[data-m-on] { animation-duration: 5s; }
:root[data-m-go] [data-m-live~="gn-turn-slow"][data-m-on] { animation-name: vc-a-gn-turn; animation-duration: 70s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: normal; }
:root[data-m-go] [data-m-live~="gn-run"][data-m-on] { animation-name: vc-a-gn-run; animation-duration: 3s; animation-timing-function: linear; animation-delay: var(--gn-d, 0s); animation-iteration-count: infinite; animation-direction: normal; }
:root[data-m-go] [data-m-live~="gn-rise"][data-m-on] { animation-name: vc-a-gn-rise; animation-duration: 2.4s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: normal; }
:root[data-m-go] [data-m-live~="gn-scan"][data-m-on] { animation-name: vc-a-gn-scan; animation-duration: 3.2s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: alternate; }
:root[data-m-go] [data-m-live~="gn-scan-x"][data-m-on] { animation-name: vc-a-gn-scanx; animation-duration: 4.2s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: alternate; }
:root[data-m-go] [data-m-live~="gn-sweep"][data-m-on] { animation-name: vc-a-gn-sweep; animation-duration: 6s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: normal; }
:root[data-m-go] [data-m-live~="gn-strap"][data-m-on] { animation-name: vc-a-gn-strap; animation-duration: 3s; animation-timing-function: var(--gn-ease); animation-delay: var(--gn-sd, 0s); animation-iteration-count: infinite; animation-direction: normal; }
:root[data-m-go] [data-m-live~="gn-fall"][data-m-on] { animation-name: vc-a-gn-fall; animation-duration: 1.8s; animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: normal; }
:root[data-m-go] [data-m-live~="gn-ride"][data-m-on] { animation-name: vc-a-gn-ride; animation-duration: 5.5s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: normal; }
:root[data-m-go] [data-m-live~="gn-rideN"][data-m-on] { animation-name: vc-a-gn-rideN; animation-duration: 4s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: alternate; }
:root[data-m-go] [data-m-live~="gn-bob"][data-m-on] { animation-name: vc-a-gn-bob; animation-duration: 3.4s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-direction: alternate; }
@keyframes vc-a-gn-turn { to { transform: rotate(360deg); } }
@keyframes vc-a-gn-run { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translate(var(--gn-dx, 120px), var(--gn-dy, 0px)); opacity: 0; } }
@keyframes vc-a-gn-rise { from { transform: translateY(14px); opacity: 0.2; } 50% { opacity: 1; } to { transform: translateY(-14px); opacity: 0.2; } }
@keyframes vc-a-gn-scan { from { transform: translateY(-58px); } to { transform: translateY(58px); } }
@keyframes vc-a-gn-scanx { from { transform: translateX(0); } to { transform: translateX(690px); } }
@keyframes vc-a-gn-sweep { from { transform: translateX(-100%); } to { transform: translateX(1100%); } }
@keyframes vc-a-gn-strap { 0%, 6% { opacity: 0; transform: scaleY(0.2); } 22% { opacity: 1; transform: scaleY(1); } 88% { opacity: 1; transform: scaleY(1); } 100% { opacity: 0.25; transform: scaleY(1); } }
@keyframes vc-a-gn-fall { from { transform: translateY(-40px); } to { transform: translateY(40px); } }
@keyframes vc-a-gn-ride { 0% { transform: translate(200px, 192px); opacity: 0; } 8% { opacity: 1; } 45% { transform: translate(430px, 134px); } 70% { transform: translate(600px, 132px); opacity: 1; } 100% { transform: translate(780px, 132px); opacity: 0; } }
@keyframes vc-a-gn-rideN { from { transform: translate(0, 0); } to { transform: translate(170px, 16px); } }
@keyframes vc-a-gn-bob { from { transform: translateY(-5px); } to { transform: translateY(6px); } }
.vc-a-gn-sp-strap { transform-box: fill-box; transform-origin: 50% 0; }

/* ---------- block 1 · splash ---------- */
[data-splash="vc-a-ginning"] :is(.gft-splash__cue, .gft-splash__caption) { font-size: 13px; }
[data-splash="vc-a-ginning"] :is(.gft-splash__data span, .gft-splash__position, .gft-splash__signal) { font-size: 13px !important; color: #cfe0d6; }
[data-splash="vc-a-ginning"] .gft-splash__caption { color: #d3e3da; }
[data-splash="vc-a-ginning"] h1 { font-size: clamp(3.4rem, min(6.3vw, 9.4svh), 6.9rem); }
[data-splash="vc-a-ginning"] .gft-splash__lede { font-size: clamp(17px, 1.2vw, 19px); max-width: 38ch; margin-top: 20px; color: #dbe7e0; }
[data-splash="vc-a-ginning"] .gft-splash__actions { margin-top: 24px; }
.vc-a-gn-sact { display: grid; gap: 16px; justify-items: start; }
.vc-a-gn-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.vc-a-gn-pill { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 12px; border: 1px solid #6bb68f80; background: #072d2bdd; color: var(--gn-paper); font: 13px/1.4 var(--gft-font-mono); }
.vc-a-gn-pill strong { color: var(--gn-mint); }
.vc-a-gn-pill--ochre { border-color: #c98a2b99; }
.vc-a-gn-pill--ochre strong { color: var(--gn-amber); }
.vc-a-gn-pill::after { content: "Source: " attr(data-src); position: absolute; z-index: 3; left: 0; top: calc(100% + 6px); width: max-content; max-width: 300px; padding: 8px 10px; background: var(--gn-paper); color: var(--gn-night); font: 13px/1.45 var(--gft-font-mono); opacity: 0; transform: translateY(-4px); pointer-events: none; transition: opacity 200ms, transform 200ms; }
.vc-a-gn-pill:is(:hover, :focus-visible)::after { opacity: 1; transform: none; }
.vc-a-gn-sp { position: relative; width: 100%; height: 100%; }
.vc-a-gn-splash-svg { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; }
.vc-a-gn-splash-svg g[data-m-live], .vc-a-gn-splash-svg circle[data-m-live] { transform-box: fill-box; transform-origin: center; }
.vc-a-gn-feed { position: absolute; left: calc((100% - var(--gn-c)) / 2 + var(--gn-c) * 0.43); top: 50%; bottom: -6%; width: 4px; pointer-events: none; }
.vc-a-gn-feed__v { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #f6f4ef8c; overflow: hidden; }
.vc-a-gn-feed__h { position: absolute; left: 0; top: -2px; width: 64px; height: 4px; background: #f6f4ef8c; }
.vc-a-gn-feed__dot, .vc-a-gn-feed2 i, .vc-a-gn-stem i, .vc-a-gn-exit i { position: absolute; left: 0; right: 0; top: -40px; bottom: -40px; background: repeating-linear-gradient(180deg, transparent 0 28px, #f6f4ef 28px 36px, transparent 36px 40px); }
.vc-a-gn-feed__l { position: absolute; right: 14px; top: 228px; width: max-content; text-align: right; font: 700 14px/1.3 var(--gft-font-mono); letter-spacing: 0.05em; text-transform: uppercase; color: var(--gn-hi); }
.vc-a-gn-sp-pl { display: none; }
.vc-a-gn-feed { z-index: 1; }
[data-splash="vc-a-ginning"] .gft-splash__data { display: none; }
[data-splash="vc-a-ginning"] .gft-splash__caption { margin-left: auto; }
@media (min-width: 1001px) {
  [data-splash="vc-a-ginning"] .gft-splash__structure { inset: 0; }
  [data-splash="vc-a-ginning"] .gft-splash__structure::after { background: linear-gradient(90deg, #072d2b 0%, #072d2bd6 20%, #072d2b00 44%); }
}
@media (max-width: 1000px) {
  .vc-a-gn-feed { left: 24px; }
  .vc-a-gn-feed__h, .vc-a-gn-feed__l { display: none; }
}
@media (max-width: 640px) {
  [data-splash="vc-a-ginning"] .gft-splash__structure { inset: auto 0 60px 0; height: calc(172vw * 800 / 1340); }
  [data-splash="vc-a-ginning"] .gft-splash__structure::after { background: linear-gradient(180deg, #072d2b 0%, #072d2b00 24%); }
  [data-splash="vc-a-ginning"] .gft-splash__content { padding-bottom: calc(172vw * 800 / 1340 + 8px); }
  .vc-a-gn-splash-svg { inset: 0 auto auto -72vw; width: 172vw; max-width: none; height: auto; }
  .vc-a-gn-sp-txt { display: none; }
  .vc-a-gn-feed { left: 33.25vw; top: 78%; bottom: 0; }
  .vc-a-gn-sp-pl { display: block; position: absolute; right: 4vw; font: 700 14px/1.2 var(--gft-font-mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--gn-hi); text-align: right; }
  .vc-a-gn-sp-pl--raw { top: 1vw; color: var(--gn-amber); }
  .vc-a-gn-sp-pl--loc { top: 49vw; color: var(--gn-mint); }
  .vc-a-gn-sp-pl--press { top: 59vw; }
  .vc-a-gn-pills { display: grid; grid-template-columns: 1fr 1fr; }
  .vc-a-gn-pill--ochre { grid-column: 1 / -1; }
  .vc-a-gn-sp-pl { z-index: 1; }
}

/* ---------- side rail ---------- */
.vc-a-gn-rail { position: fixed; right: 6px; top: 50%; translate: 0 -50%; z-index: 40; width: 34px; height: min(62svh, 420px); display: grid; grid-template-rows: auto auto 1fr; justify-items: center; gap: 10px; padding: 10px 0; border: 1px solid #6bb68f66; border-radius: 17px; background: #072d2bee; color: var(--gn-sage); pointer-events: none; }
.vc-a-gn-rail__defs { position: absolute; width: 0; height: 0; }
.vc-a-gn-rail__roll { display: block; }
.vc-a-gn-rail__read { grid-row: 2; display: grid; justify-items: center; font: 700 13px/1.2 var(--gft-font-mono); color: var(--gn-paper); }
.vc-a-gn-rail__read span { color: var(--gn-hi2); font-weight: 400; font-size: 12px; }
.vc-a-gn-rail__read i { display: none; }
.vc-a-gn-rail__track { grid-row: 3; position: relative; width: 2px; background: #6bb68f44; overflow: hidden; }
.vc-a-gn-rail__fill { position: absolute; inset: 0; background: var(--gn-sage); transform-origin: 0 0; transform: scaleY(0); }
@supports (animation-timeline: scroll()) {
  :root[data-m-go] .vc-a-gn-rail__fill { animation-name: vc-a-gn-fill; animation-duration: 1ms; animation-timing-function: linear; animation-fill-mode: both; animation-timeline: scroll(root block); }
  :root[data-m-go] .vc-a-gn-rail__roll { animation-name: vc-a-gn-roll; animation-duration: 1ms; animation-timing-function: linear; animation-fill-mode: both; animation-timeline: scroll(root block); }
}
@keyframes vc-a-gn-fill { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes vc-a-gn-roll { from { transform: rotate(0deg); } to { transform: rotate(1440deg); } }
@media (max-width: 900px) { .vc-a-gn-rail { display: none; } }

/* ---------- block 2 · the gin line bench (forest) ---------- */
.vc-a-gn-s2 { padding: 64px 0 72px; background: radial-gradient(120% 90% at 82% 0%, #14605b 0%, #0e4d4a 46%, #0b4441 100%); }
.vc-a-gn-feed2 { position: absolute; left: calc((100% - var(--gn-c)) / 2 + var(--gn-c) * 0.43); top: 0; height: 64px; width: 4px; overflow: hidden; }
.vc-a-gn-feed2 svg { position: absolute; inset: 0; width: 4px; height: 100%; overflow: visible; }
.vc-a-gn-feed2::after { content: ""; position: absolute; left: -4px; bottom: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--gn-ochre); }
.vc-a-gn-feed2 { overflow: visible; }
.vc-a-gn-feed2 i { overflow: hidden; clip-path: inset(0); }
.vc-a-gn-bench { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 18px; padding: 30px 34px 30px; border: 1px solid #6bb68f55; background: #0a3f3c; color: var(--gn-paper); }
.vc-a-gn-bench__head { grid-column: 1 / 9; }
.vc-a-gn-bench__head h2 { margin-top: 14px; font-size: clamp(2rem, 2.9vw, 2.9rem); line-height: 1.04; color: var(--gn-paper); }
.vc-a-gn-bench .gft-eyebrow { color: var(--gn-hi2); }
.vc-a-gn-tele { grid-column: 9 / -1; align-self: end; display: grid; gap: 4px; padding: 16px 18px; border-left: 3px solid var(--gn-ochre); background: #072d2b; }
.vc-a-gn-tele__k { margin: 0; font: 600 13px/1.5 var(--gft-font-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--gn-hi2); }
.vc-a-gn-tele__k b { color: var(--gn-amber); }
.vc-a-gn-tele__fig { margin: 0; }
.vc-a-gn-tele__fig strong { display: inline-block; font: 800 40px/1.1 var(--gft-font-display); letter-spacing: -0.03em; color: var(--gn-paper); font-variant-numeric: tabular-nums; }
.vc-a-gn-tele__l { margin: 0; font-size: 15px; color: var(--gn-hi); }
.vc-a-gn-tele__t { margin: 0; font: 14px/1.5 var(--gft-font-mono); color: var(--gn-hi2); min-height: 3em; }
.vc-a-gn-ctl { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); border: 1px solid #6bb68f4d; }
.vc-a-gn-stations { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; border: 0; border-right: 1px solid #6bb68f4d; min-width: 0; }
.vc-a-gn-st { position: relative; display: grid; align-content: center; gap: 2px; min-height: 56px; padding: 6px 14px; border-right: 1px solid #6bb68f33; color: var(--gn-paper); cursor: pointer; transition: background-color 260ms, color 260ms; }
.vc-a-gn-st:last-child { border-right: 0; }
.vc-a-gn-st input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.vc-a-gn-st b { font: 700 13px var(--gft-font-mono); color: var(--gn-mint); }
.vc-a-gn-st span { font: 650 16px/1.2 var(--gft-font-display); }
.vc-a-gn-st:hover { background: #ffffff12; }
.vc-a-gn-st:has(input:checked) { background: var(--gn-ochre); color: var(--gn-night); }
.vc-a-gn-st:has(input:checked) b { color: var(--gn-night); }
.vc-a-gn-st:has(input:focus-visible) { outline: 3px solid var(--gn-amber); outline-offset: -3px; }
.vc-a-gn-scrub { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 4px 16px; }
.vc-a-gn-scrub .vc-a-gn-lab { color: var(--gn-hi2); }
.vc-a-gn-scrub input[type="range"] { width: 100%; accent-color: var(--gn-sage); margin: 0; }
.vc-a-gn-scrub .vc-a-gn-out { color: var(--gn-paper); }
.vc-a-gn-stage { grid-column: 1 / -1; position: relative; }
.vc-a-gn-svg { display: block; width: 100%; height: auto; }
.vc-a-gn-svg-v { display: none; }
.vc-a-gn-svg g[data-m-live], .vc-a-gn-svg-v g[data-m-live] { transform-box: fill-box; transform-origin: center; }
.vc-a-gn-bench { --gn-p: 0.086; --gn-bx: 100; --gn-l: 0; --gn-fill: 0; }
.vc-a-gn-bench[data-step="1"] { --gn-p: 0.288; --gn-bx: 335; }
.vc-a-gn-bench[data-step="2"] { --gn-p: 0.491; --gn-bx: 570; --gn-l: 0.5; --gn-fill: 0.45; }
.vc-a-gn-bench[data-step="3"] { --gn-p: 0.693; --gn-bx: 805; --gn-l: 0.8; --gn-fill: 0.75; }
.vc-a-gn-bench[data-step="4"] { --gn-p: 0.896; --gn-bx: 1040; --gn-l: 1; --gn-fill: 1; }
.vc-a-gn-prog { transform-box: view-box; transform-origin: 20px 214px; transform: scaleX(var(--gn-p)); transition: transform 900ms var(--gft-ease-in-out); }
.vc-a-gn-bead { transform: translateX(calc(var(--gn-bx) * 1px)); transition: transform 900ms var(--gft-ease-in-out); }
.vc-a-gn-lintline { transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(var(--gn-l)); opacity: 0; transition: transform 900ms var(--gft-ease-in-out), opacity 500ms; }
.vc-a-gn-bench:is([data-step="2"], [data-step="3"], [data-step="4"]) .vc-a-gn-lintline { opacity: 1; }
.vc-a-gn-branch { opacity: 0; transition: opacity 500ms 200ms; }
.vc-a-gn-bench:not([data-step="0"]) .vc-a-gn-branch[data-gn-from="1"], .vc-a-gn-bench:is([data-step="2"], [data-step="3"], [data-step="4"]) .vc-a-gn-branch[data-gn-from="2"] { opacity: 1; }
.vc-a-gn-mach { opacity: 0.55; transition: opacity 500ms; }
.vc-a-gn-bench[data-step="0"] .vc-a-gn-mach[data-gn-at="0"], .vc-a-gn-bench[data-step="1"] .vc-a-gn-mach[data-gn-at="1"], .vc-a-gn-bench[data-step="2"] .vc-a-gn-mach[data-gn-at="2"], .vc-a-gn-bench[data-step="3"] .vc-a-gn-mach[data-gn-at="3"], .vc-a-gn-bench[data-step="4"] .vc-a-gn-mach[data-gn-at="4"] { opacity: 1; }
.vc-a-gn-halo { fill: var(--gn-sage); opacity: 0; transform-box: fill-box; transform-origin: center; transform: scale(0.82); transition: opacity 450ms, transform 600ms var(--gft-ease-out); }
.vc-a-gn-bench[data-step="0"] [data-gn-at="0"] .vc-a-gn-halo, .vc-a-gn-bench[data-step="1"] [data-gn-at="1"] .vc-a-gn-halo, .vc-a-gn-bench[data-step="2"] [data-gn-at="2"] .vc-a-gn-halo, .vc-a-gn-bench[data-step="3"] [data-gn-at="3"] .vc-a-gn-halo, .vc-a-gn-bench[data-step="4"] [data-gn-at="4"] .vc-a-gn-halo { opacity: 0.2; transform: scale(1); }
.vc-a-gn-ram { transform-box: fill-box; transition: transform 700ms var(--gft-ease-out); }
.vc-a-gn-bench[data-step="4"] .vc-a-gn-ram { transform: translateY(22px); }
.vc-a-gn-pfill { transform-box: fill-box; transform-origin: 50% 0; transform: scaleY(calc(1 - var(--gn-fill))); transition: transform 900ms var(--gft-ease-in-out); }
.vc-a-gn-out-bale { opacity: 0; transform: translateX(-60px); transition: opacity 500ms, transform 900ms var(--gn-ease); }
.vc-a-gn-bench[data-step="4"] .vc-a-gn-out-bale { opacity: 1; transform: none; transition-delay: 500ms; }
.vc-a-gn-read { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; padding-top: 16px; border-top: 1px solid #6bb68f4d; }
.vc-a-gn-detail { display: grid; }
.vc-a-gn-panel { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity 400ms, visibility 0s 400ms; }
.vc-a-gn-panel[data-on] { opacity: 1; visibility: visible; transition: opacity 400ms; }
.vc-a-gn-panel h3 { margin: 6px 0 8px; font-size: 24px; color: var(--gn-paper); }
.vc-a-gn-panel .vc-a-gn-p { color: var(--gn-hi); }
.vc-a-gn-mass ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.vc-a-gn-bar { display: grid; grid-template-columns: minmax(0, 13.5em) minmax(0, 1fr) 6.5em; gap: 12px; align-items: center; font-size: 15px; color: var(--gn-hi); }
.vc-a-gn-bar__t { position: relative; height: 12px; background: #ffffff1a; overflow: hidden; }
.vc-a-gn-bar__t i { position: absolute; inset: 0; transform-origin: 0 50%; transform: scaleX(var(--gn-v)); transition: transform 800ms var(--gft-ease-in-out); background: var(--gn-paper); }
.vc-a-gn-bar--grey .vc-a-gn-bar__t i { background: #b4c4bb; }
.vc-a-gn-bar--ochre .vc-a-gn-bar__t i { background: var(--gn-ochre); }
.vc-a-gn-bar--sage .vc-a-gn-bar__t i { background: var(--gn-sage); }
.vc-a-gn-bar b { text-align: right; font: 700 15px var(--gft-font-mono); font-variant-numeric: tabular-nums; color: var(--gn-paper); }
.vc-a-gn-massnote { margin: 10px 0 0; font: 13px/1.6 var(--gft-font-mono); color: var(--gn-hi2); max-width: none; }
/* entrance: the line strokes left to right (kit draw), the machines drop onto it, the read-outs cascade */
:root[data-m-go] .vc-a-gn-bench[data-gn-stage]:not([data-gn-on]) .vc-a-gn-mach__in { opacity: 0.3; transform: translateY(-26px); }
:root[data-m-go] .vc-a-gn-bench[data-gn-on] .vc-a-gn-mach__in { animation-name: vc-a-gn-in-drop; animation-duration: 620ms; animation-timing-function: var(--gn-ease); animation-delay: calc(140ms + var(--gn-k, 0) * 60ms); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
.vc-a-gn-mach[data-gn-at="1"] { --gn-k: 1; } .vc-a-gn-mach[data-gn-at="2"] { --gn-k: 2; } .vc-a-gn-mach[data-gn-at="3"] { --gn-k: 3; } .vc-a-gn-mach[data-gn-at="4"] { --gn-k: 4; }
:root[data-m-go] .vc-a-gn-bench[data-gn-stage]:not([data-gn-on]) :is(.vc-a-gn-tele, .vc-a-gn-ctl, .vc-a-gn-read) { opacity: 0.3; transform: translateY(22px); }
:root[data-m-go] .vc-a-gn-bench[data-gn-on] :is(.vc-a-gn-tele, .vc-a-gn-ctl, .vc-a-gn-read) { animation-name: vc-a-gn-in-rise; animation-duration: 600ms; animation-timing-function: var(--gn-ease); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-bench[data-gn-on] .vc-a-gn-ctl { animation-delay: 120ms; }
:root[data-m-go] .vc-a-gn-bench[data-gn-on] .vc-a-gn-tele { animation-delay: 220ms; }
:root[data-m-go] .vc-a-gn-bench[data-gn-on] .vc-a-gn-read { animation-delay: 300ms; }

/* ---------- block 3 · HVI classing (deep night, indigo data layer) ---------- */
.vc-a-gn-s3 { padding: 0; background: radial-gradient(70% 60% at 22% 30%, #2c3e7a59 0%, #2c3e7a00 70%), radial-gradient(60% 50% at 80% 90%, #0e4d4a66 0%, #0e4d4a00 70%), var(--gn-deep); color: var(--gn-paper); }
.vc-a-gn-hvi { display: grid; grid-template-columns: minmax(0, 56vw) minmax(0, 1fr); column-gap: 44px; }
.vc-a-gn-hvi__pin { grid-column: 1; grid-row: 1 / span 2; }
.vc-a-gn-hvistage { position: sticky; top: 0; height: 100svh; min-height: 620px; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 10px; padding: 22px 0 22px; }
.vc-a-gn-chips { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.vc-a-gn-chip { display: grid; gap: 2px; min-height: 58px; padding: 7px 10px; text-align: left; border: 1px solid #9db0ee55; background: #0b2a36; color: var(--gn-paper); transition: background-color 240ms, border-color 240ms; }
.vc-a-gn-chip__k { display: flex; align-items: center; gap: 6px; font: 700 13px var(--gft-font-mono); letter-spacing: 0.04em; color: var(--gn-hi); }
.vc-a-gn-chip__k i { width: 10px; height: 10px; flex: none; }
.vc-a-gn-chip__n { font-size: 14px; color: var(--gn-hi2); }
.vc-a-gn-chip:hover { border-color: #c3cff5; }
.vc-a-gn-chip[aria-pressed="true"] { background: #2c3e7a; border-color: #c3cff5; }
.vc-a-gn-hvisvg { position: relative; min-height: 0; display: flex; align-items: center; justify-content: center; }
.vc-a-gn-hvisvg svg { width: 100%; height: 100%; max-height: 100%; }
.vc-a-gn-cam { transform-box: view-box; transform-origin: 0 0; transition: transform 1000ms var(--gft-ease-in-out); }
.vc-a-gn-hvi:is([data-ch="3"], [data-ch="4"]):not([data-step="3"]) .vc-a-gn-cam { transform: translate(330px, 270px) scale(1.9) translate(-210px, -280px); }
.vc-a-gn-hvi[data-exit] .vc-a-gn-cam { transform: translate(40px, 340px) scale(0.42); }
/* Settle the bale before the passport becomes readable. */
.vc-a-gn-hvi[data-step="3"]:not([data-exit]) .vc-a-gn-cam { transition-duration: 600ms; }
.vc-a-gn-sample, .vc-a-gn-t, .vc-a-gn-otag, .vc-a-gn-specks, .vc-a-gn-hscan { transition: opacity 500ms; }
.vc-a-gn-t { opacity: 0; }
.vc-a-gn-hvi:is([data-ch="0"], [data-ch="1"]) :is(.vc-a-gn-t[data-t="0"], .vc-a-gn-t[data-t="1"]),
.vc-a-gn-hvi[data-ch="2"] .vc-a-gn-t[data-t="2"],
.vc-a-gn-hvi:is([data-ch="3"], [data-ch="4"]) :is(.vc-a-gn-t[data-t="3"], .vc-a-gn-t[data-t="4"]) { opacity: 1; transition-delay: 300ms; }
.vc-a-gn-hvi[data-step="3"] .vc-a-gn-t { opacity: 0 !important; transition-duration: 160ms; transition-delay: 0s; }
.vc-a-gn-hvi[data-ch="1"] .vc-a-gn-t[data-t="0"] { opacity: 0.4; }
.vc-a-gn-hvi[data-ch="0"] .vc-a-gn-t[data-t="1"] { opacity: 0.55; }
.vc-a-gn-hvi:is([data-ch="3"], [data-ch="4"], [data-step="3"]) .vc-a-gn-sample, .vc-a-gn-hvi[data-exit] .vc-a-gn-sample { opacity: 0; }
.vc-a-gn-needle { transform-box: view-box; transform-origin: 615px 450px; transform: rotate(-90deg); transition: transform 1000ms var(--gn-ease) 300ms; }
.vc-a-gn-hvi:is([data-ch="0"], [data-ch="1"]) [data-t="1"] .vc-a-gn-needle, .vc-a-gn-hvi[data-ch="2"] [data-t="2"] .vc-a-gn-needle { transform: rotate(var(--a)); }
.vc-a-gn-jaw { transform-box: fill-box; transition: transform 900ms var(--gn-ease) 300ms; }
.vc-a-gn-hvi[data-ch="2"] .vc-a-gn-jaw--r { transform: translateX(26px); }
.vc-a-gn-regain { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0.04); transition: transform 1000ms var(--gn-ease) 300ms; }
.vc-a-gn-hvi:is([data-ch="3"], [data-ch="4"]) .vc-a-gn-regain { transform: scaleY(var(--v)); }
.vc-a-gn-specks { opacity: 0; }
.vc-a-gn-hvi:is([data-ch="3"], [data-ch="4"]):not([data-step="3"]) .vc-a-gn-specks { opacity: 1; }
.vc-a-gn-speck { opacity: 0; transition: opacity 260ms; }
.vc-a-gn-hvi:is([data-ch="3"], [data-ch="4"]):not([data-step="3"]) .vc-a-gn-speck { opacity: 1; transition-delay: calc(400ms + var(--i) * 70ms); }
.vc-a-gn-band { transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(0); transition: transform 500ms var(--gn-ease); }
.vc-a-gn-hvi .vc-a-gn-band:is([data-b="0"], [data-b="1"]),
.vc-a-gn-hvi:is([data-step="1"], [data-step="2"], [data-step="3"]) .vc-a-gn-band[data-b="2"],
.vc-a-gn-hvi:is([data-step="2"], [data-step="3"]) .vc-a-gn-band:is([data-b="3"], [data-b="4"]) { transform: scaleX(1); transition-delay: 500ms; }
.vc-a-gn-hvi .vc-a-gn-band[data-b="1"], .vc-a-gn-hvi .vc-a-gn-band[data-b="4"] { transition-delay: 700ms; }
.vc-a-gn-otag { opacity: 0; transform-box: view-box; transform-origin: 330px 248px; transform: scale(0.2); transition: opacity 120ms, transform 600ms var(--gn-ease) 120ms; }
.vc-a-gn-hvi[data-step="3"]:not([data-exit]) .vc-a-gn-otag { opacity: 1; transform: none; transition: transform 600ms var(--gn-ease), opacity 180ms 600ms; }
.vc-a-gn-hvi[data-lens="sourced"] .vc-a-gn-oband { opacity: 0.3; }
.vc-a-gn-oband { transition: opacity 300ms; }
.vc-a-gn-hread { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 6px 24px; }
.vc-a-gn-hread__p { grid-area: 1 / 1; opacity: 0; transition: opacity 360ms; }
.vc-a-gn-hread__p[data-on] { opacity: 1; }
.vc-a-gn-hread__v { margin: 2px 0 8px; font: 800 28px/1.15 var(--gft-font-display); color: var(--gn-paper); letter-spacing: -0.02em; }
.vc-a-gn-meter { position: relative; display: block; height: 10px; background: linear-gradient(90deg, #ffffff22, #ffffff22) 0 50% / 100% 2px no-repeat; }
.vc-a-gn-meter::before { content: ""; position: absolute; left: 15%; right: 15%; top: 0; bottom: 0; background: #9db0ee55; }
.vc-a-gn-meter i { position: absolute; top: -4px; width: 4px; height: 18px; background: var(--gn-amber); }
.vc-a-gn-hdots { grid-column: 2; grid-row: 1; display: flex; gap: 6px; }
.vc-a-gn-hdots button { width: 44px; height: 44px; border: 1px solid #c3cff580; background: transparent; color: var(--gn-paper); font: 700 15px var(--gft-font-mono); }
.vc-a-gn-hdots button[aria-pressed="true"] { background: var(--gn-paper); color: var(--gn-deep); }
.vc-a-gn-hsteps { grid-column: 2; list-style: none; margin: 0; padding: 0; }
.vc-a-gn-hstep { min-height: 88svh; padding-top: 14svh; }
.vc-a-gn-hstep:first-child { padding-top: 9svh; }
.vc-a-gn-hstep--pass { min-height: 104svh; padding-top: 6svh; }
.vc-a-gn-hcard { padding: 26px 28px; border-left: 3px solid #9db0ee; background: #0a2c37e6; transition: border-color 300ms; }
.vc-a-gn-hstep[data-active] .vc-a-gn-hcard { border-color: var(--gn-amber); }
.vc-a-gn-hcard h2 { margin: 12px 0 0; font-size: clamp(1.9rem, 2.5vw, 2.6rem); line-height: 1.05; color: var(--gn-paper); }
.vc-a-gn-hcard .vc-a-gn-lede { margin-bottom: 22px; }
.vc-a-gn-hcard h3 { margin: 6px 0 10px; font-size: 24px; color: var(--gn-paper); }
.vc-a-gn-hcard .vc-a-gn-p { color: var(--gn-hi); }
.vc-a-gn-cnote { margin: 14px 0 0; font: 13px/1.65 var(--gft-font-mono); color: var(--gn-hi2); max-width: none; }
.vc-a-gn-hend { grid-column: 2; display: block; height: 1px; margin-top: -42svh; }
/* passport */
.vc-a-gn-pass { padding: 24px 24px 20px; border-top: 3px solid var(--gn-amber); background: #f6f4ef; color: var(--gn-ink); }
.vc-a-gn-pass .vc-a-gn-kick { color: var(--gn-ink2); }
.vc-a-gn-pass h3 { margin: 6px 0 12px; font-size: 22px; color: var(--gn-ink); }
.vc-a-gn-lens { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 10px; }
.vc-a-gn-lens button { min-height: 44px; padding: 0 14px; border: 1px solid #0e4d4a88; background: transparent; color: var(--gn-ink); font: 600 15px var(--gft-font-display); }
.vc-a-gn-lens button[aria-pressed="true"] { background: var(--gn-forest); color: var(--gn-paper); border-color: var(--gn-forest); }
.vc-a-gn-lens output { margin-left: auto; font: 700 16px var(--gft-font-mono); color: var(--gn-forest); }
.vc-a-gn-prows { list-style: none; margin: 0; padding: 0; }
.vc-a-gn-prows li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 14px; padding: 9px 0; border-top: 1px solid #c6d1c9; transition: opacity 300ms; }
.vc-a-gn-prows li[data-dim] { opacity: 0.28; }
.vc-a-gn-prow__p { margin: 0; font: 700 15px/1.35 var(--gft-font-display); }
.vc-a-gn-prow__v { grid-column: 1; margin: 0; font: 15px/1.4 var(--gft-font-mono); color: var(--gn-forest); }
.vc-a-gn-gauge { grid-column: 2; grid-row: 1 / span 2; align-self: center; display: block; width: 120px; }
.vc-a-gn-prow__b, .vc-a-gn-prow__d { grid-column: 1 / -1; margin: 0; font-size: 15px; line-height: 1.45; color: var(--gn-ink2); max-width: none; }
.vc-a-gn-tag { display: inline-block; padding: 1px 7px; font: 700 13px/1.5 var(--gft-font-mono); }
.vc-a-gn-tag--sourced { background: var(--gn-forest); color: var(--gn-paper); }
.vc-a-gn-tag--illustrative { background: #f0d9ad; color: #3d2a0a; }
.vc-a-gn-g-dots { display: flex; flex-wrap: wrap; gap: 3px; }
.vc-a-gn-g-dots i { width: 9px; height: 9px; border-radius: 50%; background: var(--gn-leaf); }
.vc-a-gn-g-dots b { width: 9px; height: 9px; background: var(--gn-ochre); }
.vc-a-gn-g-stack { display: flex; height: 12px; }
.vc-a-gn-g-s0 { background: var(--gn-ochre); } .vc-a-gn-g-s1 { background: var(--gn-leaf); } .vc-a-gn-g-s2 { background: #9c6a2e; } .vc-a-gn-g-s3 { background: #8d9b94; }
.vc-a-gn-g-bale { position: relative; display: block; width: 46px; height: 18px; border: 2px solid var(--gn-ink); background: #eef1ea; }
.vc-a-gn-g-bale i { position: absolute; top: 0; bottom: 0; width: 3px; background: var(--gn-ochre); }
.vc-a-gn-g-bale i:nth-child(1) { left: 8px; } .vc-a-gn-g-bale i:nth-child(2) { left: 19px; } .vc-a-gn-g-bale i:nth-child(3) { left: 30px; }
.vc-a-gn-g-win { position: relative; display: block; height: 12px; background: #dfe5df; }
.vc-a-gn-g-win i { position: absolute; top: 0; bottom: 0; background: var(--gn-leaf); }
.vc-a-gn-pass .vc-a-gn-cnote { color: var(--gn-ink2); }
/* entrance: the iris opens from the bale's cut point (kit), the bale settles, the bench and chips arrive */
:root[data-m-go] .vc-a-gn-hvistage:not([data-gn-on]) .vc-a-gn-hbale { opacity: 0.3; transform: scale(0.86); }
:root[data-m-go] .vc-a-gn-hvistage[data-gn-on] .vc-a-gn-hbale { animation-name: vc-a-gn-in-pop; animation-duration: 700ms; animation-timing-function: var(--gn-ease); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
.vc-a-gn-hbale { transform-box: view-box; transform-origin: 210px 280px; }
:root[data-m-go] .vc-a-gn-hvistage:not([data-gn-on]) :is(.vc-a-gn-chips, .vc-a-gn-hread) { opacity: 0.3; transform: translateY(-18px); }
:root[data-m-go] .vc-a-gn-hvistage[data-gn-on] :is(.vc-a-gn-chips, .vc-a-gn-hread) { animation-name: vc-a-gn-in-drop; animation-duration: 600ms; animation-timing-function: var(--gn-ease); animation-delay: 260ms; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-hcard[data-gn-stage]:not([data-gn-on]) { opacity: 0.3; transform: translateY(30px); }
:root[data-m-go] .vc-a-gn-hcard[data-gn-on] { animation-name: vc-a-gn-in-rise; animation-duration: 700ms; animation-timing-function: var(--gn-ease); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-hvisvg[data-m="iris"]:not([data-m-in]) { opacity: 0.3; }
:root[data-m-go] .vc-a-gn-hvistage:not([data-gn-on]) .vc-a-gn-hvisvg { clip-path: circle(30% at 30% 50%); }

/* ---------- block 4 · the bale yard (paper) ---------- */
.vc-a-gn-s4 { padding: 56px 0 0; background: var(--gn-paper); color: var(--gn-ink); }
.vc-a-gn-yard { --gn-wf: min(64svh, 600px); }
.vc-a-gn-yard__grid { display: grid; grid-template-columns: var(--gn-wf) minmax(0, 1fr); grid-template-areas: "head head" "slide slide" "waffle side"; gap: 18px 44px; }
.vc-a-gn-yard__head { grid-area: head; }
.vc-a-gn-yard__head .gft-eyebrow { color: var(--gn-ink2); }
.vc-a-gn-yard__head .vc-a-gn-dial { color: var(--gn-forest); }
.vc-a-gn-yard__head h2 { margin-top: 12px; max-width: 26ch; font-size: clamp(2rem, 3.1vw, 3.1rem); line-height: 1.04; }
/* r8 placement fix: screen 1 of the yard (eyebrow, headline, slider, waffle) is composed to sit whole inside one
   900 px screen. On desktop the headline runs as two wide lines and the block starts lower, so the paper hand-over
   never lands with the display headline sliced by the viewport edge. */
.vc-a-gn-yard__head { scroll-margin-top: 24px; }
@media (min-width: 1101px) {
  .vc-a-gn-s4 { padding-top: 186px; }
  .vc-a-gn-yard__head h2 { max-width: 46ch; }
}
/* The headline plays its own split as it arrives instead of waiting for the waffle's stage gate, so the paper
   hand-over never shows the eyebrow over an empty band; the waffle, slider and read-outs still deal in on the gate. */
:root[data-m-go] .vc-a-gn-yard__grid[data-gn-stage] .vc-a-gn-yard__head :is([data-m], .m-k, .m-ln, .m-fd, .m-c, .m-w) { animation-play-state: running !important; }
.vc-a-gn-yard__chip { grid-area: side; align-self: start; z-index: 1; justify-self: start; display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: baseline; padding: 10px 16px; background: var(--gn-forest); color: var(--gn-paper); font: 600 18px/1.3 var(--gft-font-display); }
.vc-a-gn-yard__chip b { font: 800 26px/1 var(--gft-font-display); color: var(--gn-amber); font-variant-numeric: tabular-nums; }
.vc-a-gn-yard__chip b + span + b { color: var(--gn-mint); }
.vc-a-gn-slide { grid-area: slide; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 8px 0 22px; border-block: 1px solid #c6d1c9; }
.vc-a-gn-slide .vc-a-gn-lab { color: var(--gn-ink2); max-width: 15ch; }
.vc-a-gn-slide__track { position: relative; }
.vc-a-gn-slide__track input { width: 100%; margin: 0; accent-color: var(--gn-forest); }
.vc-a-gn-mark { position: absolute; top: 100%; left: calc(var(--at) * 1%); translate: -8px 0; display: flex; gap: 6px; white-space: nowrap; padding-left: 8px; border-left: 2px solid var(--gn-leaf); font: 13px/1.3 var(--gft-font-mono); color: var(--gn-ink2); }
.vc-a-gn-mark b { color: var(--gn-ink); }
.vc-a-gn-mark--goal { border-color: var(--gn-ochre); }
.vc-a-gn-slide__out { font: 800 28px var(--gft-font-display); color: var(--gn-forest); font-variant-numeric: tabular-nums; }
.vc-a-gn-waffle { grid-area: waffle; position: relative; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 5px; width: var(--gn-wf); aspect-ratio: 1; overflow: hidden; outline-offset: 6px; }
.vc-a-gn-cell { position: relative; background: var(--gn-ochre); transition: background-color 380ms; transition-delay: calc(var(--i) * 3ms); }
.vc-a-gn-cell[data-s="local"] { background: var(--gn-leaf); }
.vc-a-gn-cell[data-s="lint"] { background: var(--gn-sage); }
.vc-a-gn-cell[data-s="seed"] { background: #9c6a2e; }
.vc-a-gn-cell[data-s="trash"] { background: #8d9b94; }
.vc-a-gn-cell[data-cur] { outline: 3px solid var(--gn-ink); outline-offset: -3px; }
.vc-a-gn-cell--ours { z-index: 1; }
.vc-a-gn-cell__ring { position: absolute; inset: -4px; border: 3px solid var(--gn-ink); border-radius: 2px; }
.vc-a-gn-cell__ring::after { content: ""; position: absolute; right: 4px; top: 4px; width: 10px; height: 13px; background: var(--gn-paper); border: 2px solid var(--gn-ink); }
.vc-a-gn-sweep { position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; width: 9%; background: linear-gradient(90deg, #f6f4ef00, #f6f4ef55, #f6f4ef00); pointer-events: none; }
.vc-a-gn-yard__side { grid-area: side; display: grid; align-content: start; gap: 14px; padding-top: 64px; }
.vc-a-gn-cellread { min-height: 1.5em; font: 600 14px/1.5 var(--gft-font-mono); color: var(--gn-ink2); }
.vc-a-gn-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--gn-forest); }
.vc-a-gn-tab { display: grid; gap: 2px; min-height: 52px; padding: 6px 12px; text-align: left; border: 0; border-right: 1px solid #0e4d4a55; background: transparent; color: var(--gn-ink); font: 650 16px/1.2 var(--gft-font-display); }
.vc-a-gn-tab:last-child { border-right: 0; }
.vc-a-gn-tab small { font: 13px var(--gft-font-mono); color: var(--gn-ink2); }
.vc-a-gn-tab[aria-selected="true"] { background: var(--gn-forest); color: var(--gn-paper); }
.vc-a-gn-tab[aria-selected="true"] small { color: var(--gn-hi2); }
.vc-a-gn-tabpanels { display: grid; }
.vc-a-gn-tp { grid-area: 1 / 1; }
.vc-a-gn-tp[hidden] { display: block; visibility: hidden; opacity: 0; }
.vc-a-gn-tp h3 { margin: 0 0 8px; font-size: 22px; }
.vc-a-gn-tp .vc-a-gn-p { color: var(--gn-ink2); }
.vc-a-gn-yard__gap { margin: 0; padding: 10px 14px; border-left: 3px solid var(--gn-ochre); background: #ece8df; font-size: 16px; line-height: 1.5; max-width: none; }
.vc-a-gn-yard__gap span { font-weight: 700; }
.vc-a-gn-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; padding: 0; list-style: none; font-size: 15px; color: var(--gn-ink2); }
.vc-a-gn-legend li { display: flex; align-items: center; gap: 8px; }
.vc-a-gn-sw { width: 16px; height: 16px; }
.vc-a-gn-sw--local { background: var(--gn-leaf); } .vc-a-gn-sw--export { background: var(--gn-ochre); } .vc-a-gn-sw--lint { background: var(--gn-sage); } .vc-a-gn-sw--seed { background: #9c6a2e; } .vc-a-gn-sw--trash { background: #8d9b94; }
.vc-a-gn-yard[data-mode="route"] .vc-a-gn-legend[data-gn-for="mass"], .vc-a-gn-yard[data-mode="mass"] .vc-a-gn-legend[data-gn-for="route"] { display: none; }
.vc-a-gn-yard__tool { color: var(--gn-forest); font-size: 16px; }
/* entrance: our bale drops into cell 1, the other 99 are dealt in reading order */
:root[data-m-go] .vc-a-gn-yard__grid:not([data-gn-on]) .vc-a-gn-cell { opacity: 0.2; transform: scale(0.55); }
:root[data-m-go] .vc-a-gn-yard__grid[data-gn-on] .vc-a-gn-cell { animation-name: vc-a-gn-in-deal; animation-duration: 420ms; animation-timing-function: var(--gn-ease); animation-delay: calc(160ms + var(--i) * 3ms); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-yard__grid:not([data-gn-on]) .vc-a-gn-cell--ours { opacity: 0.4; transform: translateY(-120px) scale(1.9); }
:root[data-m-go] .vc-a-gn-yard__grid[data-gn-on] .vc-a-gn-cell--ours { animation-name: vc-a-gn-in-fall; animation-duration: 640ms; animation-delay: 0ms; }
:root[data-m-go] .vc-a-gn-yard__grid:not([data-gn-on]) :is(.vc-a-gn-yard__side, .vc-a-gn-slide) { opacity: 0.3; transform: translateY(24px); }
:root[data-m-go] .vc-a-gn-yard__grid[data-gn-on] :is(.vc-a-gn-yard__side, .vc-a-gn-slide) { animation-name: vc-a-gn-in-rise; animation-duration: 620ms; animation-timing-function: var(--gn-ease); animation-delay: 200ms; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
/* ledger: a paper breath; its lint bar's band leaves the card for the streams below */
.vc-a-gn-ledger { position: relative; padding: 110px 0 150px; }
/* r8: on desktop the ledger breath gives back the 130 px the yard headline gained, so every later block keeps its place in the film. */
@media (min-width: 1101px) { .vc-a-gn-ledger { padding: 44px 0 86px; } }
.vc-a-gn-ledger__card { position: relative; z-index: 1; padding: 34px 40px 28px; border: 1px solid #c6d1c9; background: #fbfaf6; }
.vc-a-gn-ledger__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 18px 32px; margin-bottom: 28px; }
.vc-a-gn-ledger__head h3 { margin-top: 6px; font-size: clamp(1.7rem, 2.4vw, 2.4rem); }
.vc-a-gn-ledger__ctl { display: flex; flex-wrap: wrap; gap: 12px; }
.vc-a-gn-yrs, .vc-a-gn-units { display: flex; border: 1px solid var(--gn-forest); }
.vc-a-gn-yr, .vc-a-gn-unit { min-height: 48px; padding: 0 16px; border: 0; background: transparent; color: var(--gn-ink); font: 650 16px var(--gft-font-display); }
.vc-a-gn-yr[aria-selected="true"], .vc-a-gn-unit[aria-pressed="true"] { background: var(--gn-forest); color: var(--gn-paper); }
.vc-a-gn-lbars { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.vc-a-gn-lbar { display: grid; grid-template-columns: 28% 50% 22%; align-items: center; }
.vc-a-gn-lbar__l { margin: 0; padding-right: 20px; font: 700 17px/1.35 var(--gft-font-display); }
.vc-a-gn-lbar__l span { display: block; font: 400 14px/1.5 var(--gft-font-mono); color: var(--gn-ink2); }
.vc-a-gn-lbar__t { position: relative; height: 36px; background: #e6e9e3; }
.vc-a-gn-lbar__t i { position: absolute; inset: 0; transform-origin: 0 50%; transform: scaleX(var(--v)); transition: transform 800ms var(--gft-ease-in-out); }
.vc-a-gn-lbar--seed i { background: #c9b48c; } .vc-a-gn-lbar--lint i { background: var(--gn-sage); } .vc-a-gn-lbar--dom i { background: var(--gn-leaf); }
.vc-a-gn-lbar__v { margin: 0; padding-left: 20px; font: 600 15px/1.3 var(--gft-font-mono); color: var(--gn-ink2); }
.vc-a-gn-lbar__v b { font: 800 26px/1.15 var(--gft-font-display); color: var(--gn-ink); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.vc-a-gn-lbar__v small { display: block; font-size: 14px; }
.vc-a-gn-lbar__run { position: absolute; left: calc(41% - 7px); top: 100%; width: 14px; height: 22px; background: var(--gn-sage); }
.vc-a-gn-lnote { margin: 22px 0 0; font: 13px/1.65 var(--gft-font-mono); color: var(--gn-ink2); max-width: none; }
.vc-a-gn-stem { position: absolute; width: 14px; background: var(--gn-sage); overflow: hidden; pointer-events: none; }
.vc-a-gn-stem i { opacity: 0.85; }
.vc-a-gn-stem--out { left: calc(40px + 0.28 * (100% - 80px) + 0.205 * (100% - 80px) - 7px); bottom: 0; height: 170px; }
:root[data-m-go] .vc-a-gn-ledger__card:not([data-gn-on]) .vc-a-gn-lbar__t i { transform: scaleX(calc(var(--v) * 0.12)); }
:root[data-m-go] .vc-a-gn-ledger__card[data-gn-on] .vc-a-gn-lbar__t i { animation-name: vc-a-gn-in-grow; animation-duration: 800ms; animation-timing-function: var(--gn-ease); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-ledger__card[data-gn-on] .vc-a-gn-lbar--lint i { animation-delay: 90ms; }
:root[data-m-go] .vc-a-gn-ledger__card[data-gn-on] .vc-a-gn-lbar--dom i { animation-delay: 180ms; }
:root[data-m-go] .vc-a-gn-ledger__card:not([data-gn-on]) .vc-a-gn-lbar__run { transform: scaleY(0.1); }
:root[data-m-go] .vc-a-gn-ledger__card[data-gn-on] .vc-a-gn-lbar__run { animation-name: vc-a-gn-in-runs; animation-duration: 600ms; animation-timing-function: var(--gn-ease); animation-delay: 300ms; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
.vc-a-gn-lbar__run { transform-origin: 50% 0; }
@keyframes vc-a-gn-in-runs { from { transform: scaleY(0.1); } }

/* ---------- block 5 · streams (paper with a forest stage panel, pinned) ---------- */
.vc-a-gn-s5 { padding: 0; background: var(--gn-paper); color: var(--gn-ink); }
.vc-a-gn-streams { position: relative; --gn-ml: calc((100% - var(--gn-c)) / 2); }
.vc-a-gn-streams__frame { position: sticky; top: 0; z-index: 1; height: 100svh; min-height: 640px; display: grid; grid-template-columns: calc(var(--gn-ml) + var(--gn-c) * 0.3) minmax(0, 1fr); }
.vc-a-gn-streams__margin { display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 16px; padding: 44px 32px 18px var(--gn-ml); min-height: 0; }
.vc-a-gn-streams__head .gft-eyebrow { color: var(--gn-ink2); }
.vc-a-gn-streams__head .vc-a-gn-dial { color: var(--gn-forest); }
.vc-a-gn-streams__head h2 { margin-top: 12px; font-size: clamp(1.8rem, 2.3vw, 2.5rem); line-height: 1.06; }
.vc-a-gn-seg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--gn-forest); }
.vc-a-gn-strm { display: grid; gap: 2px; min-height: 52px; padding: 6px 12px; text-align: left; border: 0; border-right: 1px solid #0e4d4a55; background: transparent; color: var(--gn-ink); }
.vc-a-gn-strm:last-child { border-right: 0; }
.vc-a-gn-strm b { font: 700 13px var(--gft-font-mono); color: var(--gn-ink2); }
.vc-a-gn-strm span { font: 650 16px var(--gft-font-display); }
.vc-a-gn-strm[aria-selected="true"] { background: var(--gn-forest); color: var(--gn-paper); }
.vc-a-gn-strm[aria-selected="true"] b { color: var(--gn-amber); }
.vc-a-gn-scards { position: relative; display: grid; align-content: end; min-height: 0; }
.vc-a-gn-scard { grid-area: 1 / 1; align-self: end; max-height: calc(100svh - var(--gft-header-h, 72px) - 32px); overflow-y: auto; padding: 16px 20px; border-left: 3px solid var(--gn-ochre); background: #fbfaf6; box-shadow: 0 10px 40px #072d2b14; opacity: 0; visibility: hidden; transform: translateY(18px); transition: opacity 150ms ease-out, transform 150ms ease-out, visibility 0s 150ms; }
.vc-a-gn-scard[data-on] { opacity: 1; visibility: visible; transform: none; transition: opacity 280ms ease-out 160ms, transform 440ms var(--gn-ease) 160ms, visibility 0s 160ms; }
.vc-a-gn-scard h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.15; }
.vc-a-gn-scard .vc-a-gn-p { color: var(--gn-ink2); font-size: 16px; line-height: 1.5; }
.vc-a-gn-scard .gft-text-link { display: inline-block; margin-top: 8px; color: var(--gn-forest); font-size: 15px; }
.vc-a-gn-flow { position: relative; margin: 0; background: radial-gradient(80% 60% at 70% 30%, #14605b 0%, #0e4d4a 60%, #0b4441 100%); color: var(--gn-paper); min-height: 0; overflow: clip; }
/* The thread occupies the gutter before the metric badges, including their entrance. */
.vc-a-gn-stem--in { left: 7px; top: 0; height: 24%; }
.vc-a-gn-flow__chips { position: absolute; z-index: 2; top: 28px; left: 28px; right: 28px; display: flex; flex-wrap: wrap; gap: 10px; }
.vc-a-gn-flow__chips p { display: grid; margin: 0; padding: 8px 14px; border: 1px solid #a8dcbd55; background: #072d2bcc; transition: border-color 300ms, background-color 300ms; }
.vc-a-gn-flow__chips b { font: 800 24px/1.1 var(--gft-font-display); color: var(--gn-paper); font-variant-numeric: tabular-nums; }
.vc-a-gn-flow__chips span { font: 13px/1.4 var(--gft-font-mono); color: var(--gn-hi2); }
.vc-a-gn-streams[data-step="0"] .vc-a-gn-flow__chips p:is([data-st="0"], [data-st="2"]), .vc-a-gn-streams[data-step="1"] .vc-a-gn-flow__chips p[data-st="1"], .vc-a-gn-streams[data-step="2"] .vc-a-gn-flow__chips p[data-st="2"] { border-color: var(--gn-amber); background: #072d2b; }
.vc-a-gn-flow__art { position: absolute; left: 0; bottom: 0; width: min(100%, (100svh - 150px) * 960 / 700); aspect-ratio: 960 / 700; }
.vc-a-gn-flow__h { position: absolute; inset: 0; width: 100%; height: 100%; }
.vc-a-gn-flow__v { display: none; }
.vc-a-gn-bnd { outline: none; cursor: default; transition: opacity 400ms; }
.vc-a-gn-bnd:focus-visible .vc-a-gn-bnd__p { stroke-opacity: 1; filter: drop-shadow(0 0 6px #f2cd8a); }
.vc-a-gn-streams .vc-a-gn-bnd { opacity: 0.35; }
.vc-a-gn-streams[data-step="0"] .vc-a-gn-bnd:is([data-k="lint"], [data-k="export"], [data-k="dom"]),
.vc-a-gn-streams[data-step="1"] .vc-a-gn-bnd[data-k="seed"],
.vc-a-gn-streams[data-step="2"] .vc-a-gn-bnd:is([data-k="dom"], [data-k="export"]),
.vc-a-gn-streams[data-hot] .vc-a-gn-bnd:hover { opacity: 1; }
.vc-a-gn-streams[data-step="0"][data-lane="dom"] .vc-a-gn-bnd[data-k="export"], .vc-a-gn-streams[data-step="0"][data-lane="export"] .vc-a-gn-bnd[data-k="dom"] { opacity: 0.45; }
.vc-a-gn-streams[data-step="2"] .vc-a-gn-bnd[data-k="export"] { opacity: 0.8; }
.vc-a-gn-mill, .vc-a-gn-polenode, .vc-a-gn-flow__ride, .vc-a-gn-part { transition: opacity 400ms; }
.vc-a-gn-drum { transform-box: fill-box; transform-origin: 50% 50%; transform: scale(0.6); opacity: 0.5; transition: transform 700ms var(--gn-ease), opacity 400ms; }
.vc-a-gn-streams[data-step="1"] .vc-a-gn-drum { transform: none; opacity: 1; }
.vc-a-gn-millout { opacity: 0; transition: opacity 400ms 300ms; }
.vc-a-gn-streams[data-step="1"] .vc-a-gn-millout { opacity: 1; }
.vc-a-gn-polenode { transform-box: fill-box; transform-origin: 50% 50%; transition: transform 700ms var(--gn-ease); }
.vc-a-gn-streams[data-step="2"] .vc-a-gn-polenode { transform: scale(1.7); }
.vc-a-gn-flow__ride { opacity: 0; }
.vc-a-gn-streams[data-step="0"] .vc-a-gn-flow__ride { opacity: 1; }
.vc-a-gn-ridebale { transform: translate(200px, 192px); }
.vc-a-gn-part { opacity: 0; }
.vc-a-gn-streams[data-step="0"] .vc-a-gn-part[data-k="lint"], .vc-a-gn-streams[data-step="1"] .vc-a-gn-part[data-k="seed"] { opacity: 1; }
.vc-a-gn-flow__lbls { position: absolute; inset: 0; pointer-events: none; }
.vc-a-gn-flow__lbl { position: absolute; font: 700 15px/1.25 var(--gft-font-mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--gn-hi); white-space: nowrap; }
.vc-a-gn-fl--lint { left: 26%; top: 8.5%; }
.vc-a-gn-fl--exp { left: 58%; top: 8.5%; color: var(--gn-amber); }
.vc-a-gn-fl--dom { left: 51%; top: 32.5%; color: var(--gn-mint); }
.vc-a-gn-fl--seed { left: 44%; top: 55.8%; }
.vc-a-gn-fl--trash { left: 46%; top: 63.2%; color: var(--gn-hi2); }
.vc-a-gn-flow__read { position: absolute; z-index: 2; top: 108px; right: 28px; display: grid; justify-items: end; gap: 8px; }
.vc-a-gn-bread { width: 25em; max-width: 46vw; text-align: right; overflow: hidden; white-space: nowrap; font-size: 22px !important; padding: 8px 14px; background: var(--gn-paper); color: var(--gn-night); font: 800 22px/1.2 var(--gft-font-display); font-variant-numeric: tabular-nums; }
.vc-a-gn-xd { display: flex; border: 1px solid #a8dcbd88; opacity: 0.4; transition: opacity 300ms; }
.vc-a-gn-streams[data-step="0"] .vc-a-gn-xd { opacity: 1; }
.vc-a-gn-xd button { min-height: 44px; padding: 0 16px; border: 0; background: transparent; color: var(--gn-paper); font: 650 16px var(--gft-font-display); }
.vc-a-gn-xd button[aria-pressed="true"] { background: var(--gn-paper); color: var(--gn-night); }
.vc-a-gn-plate { position: absolute; z-index: 2; left: 28px; bottom: 20px; width: min(380px, 42%); padding: 12px 16px; border-left: 3px solid var(--gn-amber); background: #072d2bf2; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 150ms ease-out, transform 150ms ease-out, visibility 0s 150ms; }
.vc-a-gn-streams[data-step="1"] .vc-a-gn-plate[data-plate="1"], .vc-a-gn-streams[data-step="2"] .vc-a-gn-plate[data-plate="2"] { opacity: 1; visibility: visible; transform: none; transition: opacity 280ms ease-out 160ms, transform 440ms var(--gn-ease) 160ms, visibility 0s 160ms; }
.vc-a-gn-plate ul { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 4px; font-size: 15px; line-height: 1.35; color: var(--gn-hi); }
.vc-a-gn-plate b { color: var(--gn-paper); font-weight: 800; }
.vc-a-gn-flow__cap { position: absolute; z-index: 2; right: 28px; bottom: 16px; max-width: 46%; font: 13px/1.5 var(--gft-font-mono); color: var(--gn-hi2); text-align: right; }
.vc-a-gn-streams__track { position: relative; margin-top: -100svh; pointer-events: none; }
.vc-a-gn-ssent { display: block; height: 100svh; }
.vc-a-gn-streams__track::after { content: ""; display: block; height: 70svh; }
/* entrance: the bands extend from the 100 kg node, the labels arrive on their ends (kit leader) */
:root[data-m-go] .vc-a-gn-flow:not([data-gn-on]) .vc-a-gn-flow__h .vc-a-gn-bnd__p { clip-path: inset(-80px 70% -80px -80px); }
:root[data-m-go] .vc-a-gn-flow[data-gn-on] .vc-a-gn-flow__h .vc-a-gn-bnd__p { animation-name: vc-a-gn-in-wipe; animation-duration: 820ms; animation-timing-function: var(--gft-ease-in-out); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-flow[data-gn-on] .vc-a-gn-bexit { animation-delay: 80ms; }
:root[data-m-go] .vc-a-gn-flow:not([data-gn-on]) :is(.vc-a-gn-flow__chips, .vc-a-gn-flow__read) { opacity: 0.3; transform: translateX(28px); }
:root[data-m-go] .vc-a-gn-flow[data-gn-on] :is(.vc-a-gn-flow__chips, .vc-a-gn-flow__read) { animation-name: vc-a-gn-in-skew; animation-duration: 640ms; animation-timing-function: var(--gn-ease); animation-delay: 200ms; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
@keyframes vc-a-gn-in-skew { from { opacity: 0.3; transform: translateX(28px); } }
:root[data-m-go] .vc-a-gn-streams__head:not([data-gn-on]) { opacity: 0.4; }
:root[data-m-go] .vc-a-gn-streams__head[data-gn-on] { animation-name: vc-a-gn-in-fade; animation-duration: 500ms; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }

/* ---------- block 6 · ship or spin (night, full bleed) ---------- */
.vc-a-gn-s6 { padding: 0; height: 100svh; min-height: 680px; background: var(--gn-night); color: var(--gn-paper); overflow: clip; }
.vc-a-gn-ship { position: relative; height: 100%; }
.vc-a-gn-ship__art { position: absolute; inset: 0; }
.vc-a-gn-ship__art svg { width: 100%; height: 100%; }
.vc-a-gn-ship__art g[data-m-live] { transform-box: fill-box; transform-origin: 50% 50%; }
.vc-a-gn-lane { transition: opacity 500ms; }
.vc-a-gn-ship[data-lane="ship"] .vc-a-gn-lane--spin, .vc-a-gn-ship[data-lane="spin"] .vc-a-gn-lane--ship { opacity: 0.35; }
.vc-a-gn-part { transition: opacity 400ms; }
.vc-a-gn-ship[data-lane="ship"] .vc-a-gn-part--spin, .vc-a-gn-ship[data-lane="spin"] .vc-a-gn-part--ship { opacity: 0; }
.vc-a-gn-forkbale { transform-box: view-box; transform-origin: 980px 410px; transition: transform 1100ms var(--gft-ease-in-out); }
.vc-a-gn-ship[data-moved][data-lane="ship"] .vc-a-gn-forkbale { transform: translate(300px, 180px) scale(0.55); }
.vc-a-gn-ship[data-moved][data-lane="spin"] .vc-a-gn-forkbale { transform: translate(-268px, 560px) scale(0.5); }
.vc-a-gn-ship__copy { position: absolute; inset: 0; z-index: 1; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; padding-block: 8svh 6svh; pointer-events: none; }
.vc-a-gn-ship__copy > * { pointer-events: auto; }
.vc-a-gn-ship__copy .gft-eyebrow { color: var(--gn-hi2); }
.vc-a-gn-quote { grid-row: 2; margin: 18px 0 0; max-width: 21ch; font: italic 400 clamp(2rem, 3.1vw, 2.9rem)/1.18 var(--gft-font-serif); letter-spacing: -0.02em; color: var(--gn-paper); }
.vc-a-gn-ship__ctl { grid-row: 4; width: min(520px, 42%); display: grid; gap: 12px; padding: 20px 22px; border-left: 3px solid var(--gn-amber); background: #072d2be8; }
.vc-a-gn-lanes { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #f6f4ef88; }
.vc-a-gn-lanebtn { min-height: 48px; border: 0; background: transparent; color: var(--gn-paper); font: 650 16px var(--gft-font-display); }
.vc-a-gn-lanebtn[aria-pressed="true"] { background: var(--gn-paper); color: var(--gn-night); }
.vc-a-gn-shipread { display: grid; margin: 0; }
.vc-a-gn-shipread span { grid-area: 1 / 1; font: 800 28px/1.15 var(--gft-font-display); color: var(--gn-amber); opacity: 0; transition: opacity 300ms; }
.vc-a-gn-shipread span[data-gn-laneread="spin"] { color: var(--gn-mint); }
.vc-a-gn-shipread span[data-on] { opacity: 1; }
.vc-a-gn-lanetxt { display: grid; }
.vc-a-gn-lanetxt > * { grid-area: 1 / 1; color: var(--gn-hi); opacity: 0; visibility: hidden; transition: opacity 300ms, visibility 0s 300ms; }
.vc-a-gn-lanetxt > [data-on] { opacity: 1; visibility: visible; transition: opacity 300ms; }
.vc-a-gn-ship__ctl .gft-text-link { color: var(--gn-mint); font-size: 15px; }
/* entrance: the saw and lanes scale in around the fork (kit scale, held), then the bale arrives at the fork */
.vc-a-gn-fork { transform-box: view-box; transform-origin: 980px 410px; }
:root[data-m-go] .vc-a-gn-ship__art:not([data-gn-on]) .vc-a-gn-fork { opacity: 0.3; transform: scale(0.7); }
:root[data-m-go] .vc-a-gn-ship__art[data-gn-on] .vc-a-gn-fork { animation-name: vc-a-gn-in-pop2; animation-duration: 700ms; animation-timing-function: var(--gn-ease); animation-delay: 220ms; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
@keyframes vc-a-gn-in-pop2 { from { opacity: 0.3; transform: scale(0.7); } }
:root[data-m-go] .vc-a-gn-ship__copy:not([data-gn-on]) .vc-a-gn-ship__ctl { opacity: 0.3; transform: translateY(26px); }
:root[data-m-go] .vc-a-gn-ship__copy[data-gn-on] .vc-a-gn-ship__ctl { animation-name: vc-a-gn-in-rise; animation-duration: 640ms; animation-timing-function: var(--gn-ease); animation-delay: 240ms; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }

/* ---------- block 7 · the buffer (forest) ---------- */
.vc-a-gn-s7 { padding: 0; background: radial-gradient(80% 60% at 80% 20%, #14605b 0%, #0e4d4a 55%, #0b4441 100%); color: var(--gn-paper); }
.vc-a-gn-buf { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 56vw); column-gap: 44px; }
.vc-a-gn-buf__pin { grid-column: 2; grid-row: 1 / span 2; }
.vc-a-gn-bstage { position: sticky; top: 0; height: 100svh; min-height: 640px; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 8px; padding: 26px 0 22px; }
.vc-a-gn-bstage__head .gft-eyebrow { color: var(--gn-hi2); }
.vc-a-gn-bstage__head h2 { margin-top: 10px; font-size: clamp(1.7rem, 2.25vw, 2.35rem); line-height: 1.06; color: var(--gn-paper); }
.vc-a-gn-bsvg { width: 100%; height: 100%; min-height: 0; }
.vc-a-gn-bsvg g[data-m-live] { transform-box: fill-box; transform-origin: 50% 50%; }
.vc-a-gn-calscan { transform-box: view-box; }
.vc-a-gn-cal__in { transform-box: fill-box; transform-origin: 0 50%; }
.vc-a-gn-cal__draw { transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(0); transition: transform 600ms var(--gn-ease); transition-delay: calc(var(--i) * 40ms); }
.vc-a-gn-buf:is([data-step="1"], [data-step="2"], [data-step="3"]) .vc-a-gn-cal__draw { transform: none; }
.vc-a-gn-state { opacity: 0; visibility: hidden; transition: opacity 100ms ease-out, visibility 0s 100ms; }
.vc-a-gn-buf[data-step="0"] .vc-a-gn-state[data-s="0"], .vc-a-gn-buf[data-step="1"] .vc-a-gn-state[data-s="1"], .vc-a-gn-buf[data-step="2"] .vc-a-gn-state[data-s="2"], .vc-a-gn-buf[data-step="3"] .vc-a-gn-state[data-s="3"] { opacity: 1; visibility: visible; transition: opacity 240ms ease-out 110ms, visibility 0s 110ms; }
.vc-a-gn-sc-txt { opacity: 0; visibility: hidden; transition: opacity 0s, visibility 0s; }
.vc-a-gn-buf[data-step="0"] .vc-a-gn-state[data-s="0"] .vc-a-gn-sc-txt, .vc-a-gn-buf[data-step="1"] .vc-a-gn-state[data-s="1"] .vc-a-gn-sc-txt, .vc-a-gn-buf[data-step="2"] .vc-a-gn-state[data-s="2"] .vc-a-gn-sc-txt, .vc-a-gn-buf[data-step="3"] .vc-a-gn-state[data-s="3"] .vc-a-gn-sc-txt { opacity: 1; visibility: visible; transition: opacity 220ms ease-out 150ms, visibility 0s 150ms; }
.vc-a-gn-pile { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0.2); opacity: 0.4; transition: transform 100ms ease-out, opacity 100ms ease-out; }
.vc-a-gn-buf[data-step="0"] .vc-a-gn-pile { transform: none; opacity: 1; transition: transform 420ms var(--gn-ease), opacity 320ms ease-out; transition-delay: calc(var(--r) * 55ms + 120ms); }
.vc-a-gn-bay { transform-box: fill-box; transform-origin: 50% 50%; transform: scale(0.4); opacity: 0; transition: transform 100ms ease-out, opacity 100ms ease-out; }
.vc-a-gn-bay--0 { fill: var(--gn-sage); } .vc-a-gn-bay--1 { fill: var(--gn-ochre); } .vc-a-gn-bay--2 { fill: #cfe0d6; }
.vc-a-gn-buf[data-step="1"] .vc-a-gn-bay { transform: none; opacity: 1; transition: transform 360ms var(--gn-ease), opacity 280ms ease-out; transition-delay: calc(var(--i) * 14ms + 120ms); }
.vc-a-gn-lay { fill: #0a3e3b; stroke: var(--gn-sage); stroke-width: 2; transition: fill 100ms ease-out; }
.vc-a-gn-buf[data-step="3"] .vc-a-gn-lay { fill: #6bb68f99; transition: fill 280ms ease-out; transition-delay: calc(var(--i) * 28ms + 140ms); }
.vc-a-gn-scanbar { transform-box: view-box; transform: translateX(0); transition: transform 100ms ease-out; }
.vc-a-gn-buf[data-step="3"] .vc-a-gn-scanbar { transform: translateX(300px); transition: transform 1100ms var(--gft-ease-in-out) 140ms; }
.vc-a-gn-lift { transform-box: view-box; transform-origin: 427px 173px; transition: transform 900ms var(--gn-ease); }
.vc-a-gn-buf[data-exit] .vc-a-gn-lift { transform: translate(-40px, 120px) scale(2.2); }
.vc-a-gn-route { transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(0.25); opacity: 0; transition: transform 100ms ease-out, opacity 100ms ease-out; }
.vc-a-gn-buf[data-step="2"] .vc-a-gn-route { transform: none; opacity: 1; transition: transform 420ms var(--gn-ease) 120ms, opacity 260ms ease-out 120ms; }
.vc-a-gn-bread2 { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 4px 20px; padding-top: 10px; border-top: 1px solid #a8dcbd44; }
.vc-a-gn-bread2__fig { grid-column: 1; margin: 0; display: grid; gap: 2px; }
.vc-a-gn-bread2__n { font: 600 13px var(--gft-font-mono); letter-spacing: 0.06em; text-transform: uppercase; color: var(--gn-hi2); }
.vc-a-gn-bread2__fig strong { white-space: nowrap; font: 800 24px/1.15 var(--gft-font-display); color: var(--gn-paper); letter-spacing: -0.02em; }
.vc-a-gn-bread2__tag { grid-column: 1; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font: 13px/1.5 var(--gft-font-mono); color: var(--gn-amber); letter-spacing: 0.04em; }
.vc-a-gn-bctl { grid-column: 2; grid-row: 1 / span 2; display: flex; gap: 6px; align-items: center; }
.vc-a-gn-dots { display: flex; gap: 6px; }
.vc-a-gn-dots button { width: 48px; height: 48px; border: 1px solid #f6f4ef88; background: transparent; color: var(--gn-paper); font: 700 15px var(--gft-font-mono); }
.vc-a-gn-dots button[aria-pressed="true"] { background: var(--gn-paper); color: var(--gn-night); }
.vc-a-gn-bsteps { grid-column: 1; grid-row: 1; list-style: none; margin: 0; padding: 0; }
.vc-a-gn-bstep { min-height: 86svh; padding-top: 14svh; }
.vc-a-gn-bstep:last-child { min-height: 104svh; }
.vc-a-gn-bcard { padding: 24px 26px; border-left: 3px solid #a8dcbd88; background: #072d2be0; transition: border-color 300ms; }
.vc-a-gn-bstep[data-active] .vc-a-gn-bcard { border-color: var(--gn-amber); }
.vc-a-gn-bcard__n { margin: 0 0 4px; font: 800 48px/1 var(--gft-font-display); color: var(--gn-amber); letter-spacing: -0.04em; }
.vc-a-gn-bcard h3 { margin: 6px 0 10px; font-size: 24px; color: var(--gn-paper); }
.vc-a-gn-bcard .vc-a-gn-p { color: var(--gn-hi); }
.vc-a-gn-bcard .gft-text-link { color: var(--gn-mint); font-size: 15px; }
.vc-a-gn-bend { grid-column: 1; display: block; height: 1px; margin-top: -42svh; }
/* entrance: header and calendar trigger on first visibility; waiting text is never partially clipped */
:root[data-m-go] .vc-a-gn-bstage[data-m="horizon"]:not([data-m-in]),
:root[data-m-go] .vc-a-gn-bstage[data-m="horizon"][data-m-in] { clip-path: none; animation-name: none; }
:root[data-m-go] .vc-a-gn-bstage[data-gn-stage] .vc-a-gn-bstage__head[data-gn-on] :is([data-m], .m-k, .m-ln, .m-fd, .m-c, .m-w) { animation-play-state: running !important; }
:root[data-m-go] .vc-a-gn-bstage__head:not([data-gn-on]) { opacity: 0; transform: translateY(18px); }
:root[data-m-go] .vc-a-gn-bstage__head[data-gn-on] { animation-name: vc-a-gn-in-rise; animation-duration: 560ms; animation-timing-function: var(--gn-ease); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-bsvg:not([data-gn-on]) .vc-a-gn-cal { opacity: 0; }
:root[data-m-go] .vc-a-gn-bsvg[data-gn-on] .vc-a-gn-cal { animation-name: vc-a-gn-in-fade; animation-duration: 420ms; animation-timing-function: ease-out; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-bsvg:not([data-gn-on]) .vc-a-gn-calbale { opacity: 0.3; transform: translateY(-70px); }
:root[data-m-go] .vc-a-gn-bsvg[data-gn-on] .vc-a-gn-calbale { animation-name: vc-a-gn-in-drop2; animation-duration: 700ms; animation-timing-function: var(--gn-ease); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
@keyframes vc-a-gn-in-drop2 { from { opacity: 0.3; transform: translateY(-70px); } }
:root[data-m-go] .vc-a-gn-bsvg:not([data-gn-on]) .vc-a-gn-cal__in { transform: scaleX(0); }
:root[data-m-go] .vc-a-gn-bsvg[data-gn-on] .vc-a-gn-cal__in { animation-name: vc-a-gn-in-cal; animation-duration: 420ms; animation-timing-function: var(--gn-ease); animation-delay: calc(200ms + var(--i) * 110ms); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
:root[data-m-go] .vc-a-gn-bstage:not([data-gn-on]) .vc-a-gn-bread2 { opacity: 0.3; transform: translateY(20px); }
:root[data-m-go] .vc-a-gn-bstage[data-gn-on] .vc-a-gn-bread2 { animation-name: vc-a-gn-in-rise; animation-duration: 600ms; animation-timing-function: var(--gn-ease); animation-delay: 280ms; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }

/* ---------- block 8 · the bale opener (night) ---------- */
.vc-a-gn-s8 { padding: 40px 0 0; min-height: 100svh; background: radial-gradient(70% 60% at 50% 45%, #0e4d4a88 0%, #072d2b00 70%), var(--gn-night); color: var(--gn-paper); }
.vc-a-gn-open { position: relative; display: grid; gap: 10px; min-height: calc(100svh - 40px); align-content: space-between; padding-bottom: 24px; }
.vc-a-gn-open__kick { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 24px; margin: 0; }
.vc-a-gn-open__kick .gft-eyebrow { color: var(--gn-hi2); }
.vc-a-gn-prev { display: inline-flex; align-items: center; min-height: 44px; font: 600 15px var(--gft-font-display); color: var(--gn-mint); }
.vc-a-gn-open__head h2 { margin: 8px auto 0; max-width: 24ch; text-align: center; font-size: clamp(2rem, 3vw, 3.1rem); line-height: 1.05; color: var(--gn-paper); }
.vc-a-gn-opener { position: relative; display: grid; grid-template-columns: 320px minmax(0, 1fr); column-gap: 24px; align-items: center; --sp: clamp(0, (var(--p) - 0.8) * 5, 1); }
.vc-a-gn-opener__svg { grid-column: 2; grid-row: 1; display: block; width: 100%; height: auto; }
.vc-a-gn-opener__svg g[data-m-live] { transform-box: fill-box; transform-origin: 50% 50%; }
.vc-a-gn-ostrap { transform-box: fill-box; transform-origin: 50% 50%; transition: transform 600ms var(--gn-ease), opacity 400ms; transition-delay: calc(var(--k) * 60ms); }
.vc-a-gn-open:not([data-state="sealed"]) .vc-a-gn-ostrap { opacity: 0; transform: translateY(40px) rotate(14deg); }
.vc-a-gn-ostraps { opacity: 1; }
.vc-a-gn-obale { transform-box: view-box; transform-origin: 560px 360px; transition: transform 800ms var(--gn-ease); }
.vc-a-gn-open:is([data-state="open"], [data-state="out"]) .vc-a-gn-obale { transform: scale(1.12, 1.08); }
.vc-a-gn-open:not([data-state]) .vc-a-gn-obale { transform: scale(1.12, 1.08); }
.vc-a-gn-tufts { opacity: 0; transition: opacity 500ms; }
.vc-a-gn-open:is([data-state="open"], [data-state="out"], :not([data-state])) .vc-a-gn-tufts { opacity: 1; }
.vc-a-gn-strand { clip-path: inset(-20px calc((1 - var(--sp)) * 100% - 20px) -20px -20px); transition: clip-path 300ms; }
.vc-a-gn-ocard { grid-column: 1; grid-row: 1; align-self: center; display: grid; gap: 6px; padding: 14px 16px; border-left: 3px solid var(--gn-amber); background: #0a3a37f0; }
.vc-a-gn-ocard__ids { margin: 0; font: 700 14px/1.5 var(--gft-font-mono); color: var(--gn-paper); letter-spacing: 0.03em; }
.vc-a-gn-ocard__bands { display: flex; align-items: center; gap: 4px; margin: 0; font: 13px var(--gft-font-mono); color: var(--gn-hi2); }
.vc-a-gn-ocard__bands i { width: 18px; height: 12px; }
.vc-a-gn-ocard__bands span { margin-left: 6px; }
.vc-a-gn-gates { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 4px; }
.vc-a-gn-gates li { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 8px; padding: 4px 0; border-top: 1px solid #a8dcbd33; opacity: 0.4; transition: opacity 300ms; }
.vc-a-gn-gates li[data-on] { opacity: 1; }
.vc-a-gn-gates b { grid-row: 1 / span 2; font: 700 14px var(--gft-font-mono); color: var(--gn-amber); }
.vc-a-gn-gates span { font: 700 16px/1.3 var(--gft-font-display); color: var(--gn-paper); }
.vc-a-gn-gates small { font-size: 13px; line-height: 1.4; color: var(--gn-hi2); }
.vc-a-gn-open__ctl { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto 90px; gap: 16px 28px; align-items: center; padding-top: 14px; border-top: 1px solid #a8dcbd44; }
.vc-a-gn-open__range { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.vc-a-gn-open__range .vc-a-gn-lab { color: var(--gn-hi2); }
.vc-a-gn-open__range input { width: 100%; margin: 0; accent-color: var(--gn-amber); }
.vc-a-gn-open__read { display: grid; gap: 2px; margin: 0; font: 800 24px/1.2 var(--gft-font-display); color: var(--gn-paper); max-width: none; }
.vc-a-gn-open__read span + span { font-size: 18px; color: var(--gn-amber); }
.vc-a-gn-open__read b { color: var(--gn-amber); font-variant-numeric: tabular-nums; }
.vc-a-gn-open__go { min-height: 52px; }
.vc-a-gn-qual { width: calc(100% - 118px); }
.vc-a-gn-qual summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; font: 600 15px var(--gft-font-display); color: var(--gn-hi); }
.vc-a-gn-qual .vc-a-gn-p { font-size: 15px; color: var(--gn-hi); max-width: 100ch; }
.vc-a-gn-s8 { overflow: clip; }
.vc-a-gn-exit { position: absolute; left: calc(344px + (100% - 344px) * 1137 / 1200 - 2px); top: calc(100% - 2px); height: 100svh; width: 4px; background: #f6f4ef; overflow: hidden; clip-path: inset(0); pointer-events: none; }
.vc-a-gn-exit i { background: repeating-linear-gradient(180deg, transparent 0 28px, var(--gn-ochre) 28px 40px); }
/* entrance: the strand pays out (unspool), the gates light in sequence */
:root[data-m-go] .vc-a-gn-opener:not([data-gn-on]) .vc-a-gn-strand { clip-path: inset(-20px 100% -20px -20px); }
:root[data-m-go] .vc-a-gn-opener[data-gn-on] .vc-a-gn-strand { animation-name: vc-a-gn-in-strand; animation-duration: 640ms; animation-timing-function: var(--gft-ease-in-out); animation-delay: 240ms; animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
@keyframes vc-a-gn-in-strand { from { clip-path: inset(-20px 100% -20px -20px); } to { clip-path: inset(-20px -20px -20px -20px); } }
:root[data-m-go] .vc-a-gn-opener:not([data-gn-on]) .vc-a-gn-gates li { opacity: 0.25; }
:root[data-m-go] .vc-a-gn-opener[data-gn-on] .vc-a-gn-gates li[data-on] { animation-name: vc-a-gn-in-gate; animation-duration: 420ms; animation-timing-function: ease-out; animation-delay: calc(200ms + var(--k) * 90ms); animation-fill-mode: backwards; animation-iteration-count: 1; animation-direction: normal; }
@keyframes vc-a-gn-in-gate { from { opacity: 0.25; } }
:root[data-m-go] .vc-a-gn-opener:not([data-gn-on]) .vc-a-gn-tufts { opacity: 0.2; }

/* the footer bridge opens on the strand */
body[data-page="value-chain-ginning"] .gft-footer { border-top: 0; }
body[data-page="value-chain-ginning"] .gft-footer__next { position: relative; }
body[data-page="value-chain-ginning"] .gft-footer__next::before { content: ""; position: absolute; top: 0; right: calc((100% - 344px) * 0.0525 - 2px); width: 4px; height: calc(44px + 19px + 10px + 0.5 * clamp(1.6rem, 3.4vw, 3.2rem) * 1.05); background: #f6f4ef; }
body[data-page="value-chain-ginning"] .gft-footer__next-line { height: 4px; background: #f6f4ef55; }
body[data-page="value-chain-ginning"] .gft-footer__next-line i { transform: scaleX(1); background: linear-gradient(90deg, var(--gn-sage), var(--gn-ochre)); }
body[data-page="value-chain-ginning"] .gft-footer__next-k { font-size: 13px; color: var(--gn-mint); }

/* ---------- tablet and phone ---------- */
@media (max-width: 1100px) {
  .vc-a-gn-bench__head { grid-column: 1 / -1; }
  .vc-a-gn-tele { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .vc-a-gn-s2 { padding: 48px 0 56px; }
  .vc-a-gn-bench { display: block; padding: 20px 16px; }
  .vc-a-gn-bench > * + * { margin-top: 14px; }
  .vc-a-gn-bench__head h2 { font-size: 30px; }
  .vc-a-gn-tele__fig strong { font-size: 32px; }
  .vc-a-gn-tele__l { min-height: 3em; }
  .vc-a-gn-tele__t { min-height: 4.5em; }
  .vc-a-gn-ctl { display: block; }
  .vc-a-gn-stations { border-right: 0; border-bottom: 1px solid #6bb68f4d; }
  .vc-a-gn-st { min-height: 56px; padding: 6px 6px; }
  .vc-a-gn-st span { font-size: 13px; }
  .vc-a-gn-scrub { grid-template-columns: auto minmax(0, 1fr) auto; }
  .vc-a-gn-scrub .vc-a-gn-lab { display: none; }
  .vc-a-gn-stage { position: sticky; top: 0; z-index: 2; height: 40svh; min-height: 300px; background: #0a3f3c; }
  .vc-a-gn-svg { display: none; }
  .vc-a-gn-svg-v { display: block; width: 100%; height: 100%; }
  .vc-a-gn-vprog { transform-box: view-box; transform-origin: 56px 10px; transform: scaleY(var(--gn-p)); transition: transform 900ms var(--gft-ease-in-out); }
  .vc-a-gn-vbead { transform: translateY(calc((var(--gn-bx) - 100) / 235 * 80px)); transition: transform 900ms var(--gft-ease-in-out); }
  .vc-a-gn-read { display: block; }
  .vc-a-gn-read > * + * { margin-top: 18px; }
  .vc-a-gn-bar { grid-template-columns: minmax(0, 1fr) 5.5em; }
  .vc-a-gn-bar__t { grid-column: 1 / -1; grid-row: 2; }

  .vc-a-gn-hvi { display: block; }
  .vc-a-gn-hvi__pin { position: sticky; top: 0; z-index: 2; height: 46svh; min-height: 360px; background: var(--gn-deep); }
  .vc-a-gn-hvistage { position: relative; height: 100%; min-height: 0; padding: 10px 0 8px; gap: 6px; }
  .vc-a-gn-chips { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 6px; }
  .vc-a-gn-chip { flex: 0 0 auto; min-width: 104px; min-height: 48px; scroll-snap-align: start; }
  .vc-a-gn-chip__n { display: none; }
  .vc-a-gn-chip__k { font-size: 14px; }
  .vc-a-gn-hread__v { font-size: 22px; margin-bottom: 4px; }
  .vc-a-gn-hread .vc-a-gn-kick { display: none; }
  .vc-a-gn-hdots button { width: 44px; height: 44px; }
  .vc-a-gn-hstep { min-height: 70svh; padding-top: 6svh; }
  .vc-a-gn-hstep--pass { min-height: 0; padding-bottom: 8svh; }
  .vc-a-gn-hend { margin-top: 0; }
  .vc-a-gn-hcard { padding: 18px 16px; }
  .vc-a-gn-gauge { display: none; }
  .vc-a-gn-prows li { grid-template-columns: 1fr; }

  .vc-a-gn-yard { --gn-wf: 100%; }
  .vc-a-gn-yard__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "slide" "chip" "waffle" "side"; }
  .vc-a-gn-yard__chip { grid-area: chip; font-size: 16px; }
  .vc-a-gn-yard__side { padding-top: 0; }
  .vc-a-gn-slide { grid-template-columns: minmax(0, 1fr) auto; padding-bottom: 30px; }
  .vc-a-gn-slide .vc-a-gn-lab { grid-column: 1 / -1; max-width: none; }
  .vc-a-gn-tab { font-size: 14px; padding: 6px 8px; }
  .vc-a-gn-ledger { padding: 64px 0 72px; }
  .vc-a-gn-ledger__card { padding: 22px 16px; }
  .vc-a-gn-lbar { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .vc-a-gn-lbar__v, .vc-a-gn-lbar__l { padding: 0; }
  .vc-a-gn-lbar__v b { font-size: 22px; }
  .vc-a-gn-lbar__run, .vc-a-gn-stem { display: none; }

  .vc-a-gn-streams__frame { position: relative; height: auto; min-height: 0; display: flex; flex-direction: column; }
  .vc-a-gn-streams__margin { display: contents; }
  .vc-a-gn-streams__head { order: 1; padding: 48px 16px 0; }
  .vc-a-gn-seg { order: 2; margin: 16px 16px 0; }
  .vc-a-gn-flow { order: 3; position: sticky; top: 0; z-index: 2; height: 46svh; min-height: 340px; margin-top: 16px; }
  .vc-a-gn-scards { order: 4; }
  .vc-a-gn-flow__h, .vc-a-gn-flow__lbls, .vc-a-gn-flow__cap, .vc-a-gn-flow__read .vc-a-gn-xd { display: none; }
  .vc-a-gn-flow__art { inset: 50px 0 0 0; width: auto; aspect-ratio: auto; }
  .vc-a-gn-flow__v { display: block; width: 100%; height: 100%; }
  .vc-a-gn-flow__chips { top: 8px; left: 8px; right: 8px; gap: 6px; }
  .vc-a-gn-flow__chips p { padding: 4px 8px; }
  .vc-a-gn-flow__chips b { font-size: 18px; }
  .vc-a-gn-flow__chips span { display: none; }
  .vc-a-gn-flow__read { top: auto; bottom: 8px; right: 8px; }
  .vc-a-gn-bread { width: 64vw; max-width: none; white-space: normal; font-size: 15px !important; padding: 6px 10px; min-height: 2.6em; }
  .vc-a-gn-plate { display: none; }
  .vc-a-gn-scards { display: block; padding: 0 16px 48px; }
  .vc-a-gn-scard { position: relative; max-height: none; overflow: visible; opacity: 1; visibility: visible; transform: none; margin-top: 24px; min-height: 60svh; box-shadow: none; }
  .vc-a-gn-streams__track { display: none; }

  .vc-a-gn-s6 { height: auto; min-height: 100svh; }
  .vc-a-gn-ship__art { position: relative; inset: auto; height: 62vw; overflow: hidden; }
  .vc-a-gn-ship__art svg { max-width: none; width: 240vw; height: 150vw; margin-left: -125vw; margin-top: -26vw; }
  .vc-a-gn-ship__copy { position: relative; inset: auto; display: block; padding-block: 8px 48px; }
  .vc-a-gn-quote { font-size: 28px; margin-bottom: 20px; }
  .vc-a-gn-ship__ctl { width: 100%; }

  .vc-a-gn-buf { display: block; }
  .vc-a-gn-buf__pin { position: sticky; top: 0; z-index: 2; height: 52svh; min-height: 400px; background: #0b4441; }
  .vc-a-gn-bstage { position: relative; height: 100%; min-height: 0; padding: 10px 0 8px; }
  .vc-a-gn-bstage__head .gft-eyebrow { display: none; }
  .vc-a-gn-bstage__head h2 { font-size: 20px; margin-top: 0; }
  .vc-a-gn-bread2__tag { display: none; }
  .vc-a-gn-bread2__fig strong { font-size: 22px; white-space: normal; min-height: 2.3em; }
  .vc-a-gn-bread2 { grid-template-columns: minmax(0, 1fr); }
  .vc-a-gn-bctl { grid-column: 1; grid-row: auto; }
  .vc-a-gn-dots button { width: 44px; height: 44px; }
  .vc-a-gn-brun { display: none; }
  .vc-a-gn-bstep { min-height: 70svh; padding-top: 6svh; }
  .vc-a-gn-bstep:last-child { min-height: 80svh; }
  .vc-a-gn-bend { margin-top: -30svh; }

  .vc-a-gn-opener { display: block; overflow: hidden; }
  .vc-a-gn-opener__svg { width: 160%; max-width: none; margin-left: -51%; }
  .vc-a-gn-ocard { grid-column: 1; grid-row: 2; }
  .vc-a-gn-open__ctl { grid-template-columns: minmax(0, 1fr); }
  .vc-a-gn-open__range { grid-template-columns: minmax(0, 1fr) auto; }
  .vc-a-gn-open__range .vc-a-gn-lab { grid-column: 1 / -1; }
  .vc-a-gn-open__read { font-size: 22px; }
  .vc-a-gn-qual { width: auto; }
  .vc-a-gn-exit { display: none; }
  body[data-page="value-chain-ginning"] .gft-footer__next::before { display: none; }
}
@media (max-width: 640px) {
  .vc-a-gn-feed2 { left: 33.25vw; height: 48px; }
  .vc-a-gn-hcard h2 { font-size: 28px; }
  .vc-a-gn-yard__head h2 { font-size: 30px; }
  .vc-a-gn-streams__head h2 { font-size: 28px; }
  .vc-a-gn-open__head h2 { font-size: 28px; }
}
