/* Continuous harvest choreography: one pinned scene, with object-level growth, flight, assembly, packing and handoff. */
:root{--story-seed:#edc35c;--story-grown:#d4dfb1;--story-picked:#edac77;--story-gather:#f3ca46;--story-packed:#a8c2a2;--story-connected:#e9bf82}
.harvest-story{height:auto;background:var(--story-seed);position:relative;isolation:isolate}:is(.story-enabled,.story-pending) .harvest-story{height:650svh}:is(.story-enabled,.story-pending) .story-pin{position:sticky}.story-pin{position:relative;top:0;height:100svh;min-height:600px;overflow:clip;background:var(--story-seed);color:var(--ink)}.story-header{height:96px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.story-header .brand{font-size:29px}.story-layout{position:relative;height:calc(100% - 196px);display:flex;align-items:center}.story-copy{position:relative;z-index:2;width:38%;pointer-events:none}.story-chapter{font-size:13px;display:block;margin-bottom:var(--space-lg);font-variant-numeric:tabular-nums}.story-copy h2{font-size:clamp(58px,6.5vw,100px);line-height:1;max-width:12ch}.story-copy p{font-size:16px;max-width:29ch;margin-top:var(--space-lg)}.story-copy .story-instruction{font-size:12px;margin-top:var(--space-xl)}.story-visual{position:absolute;width:75%;height:115%;right:-7%;top:-7%;pointer-events:none}.story-visual canvas,.story-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.story-footer{position:absolute;bottom:var(--space-xl);left:0;right:0;z-index:3;display:flex;align-items:center;gap:var(--space-xl)}.story-track{width:120px;height:3px;background:color-mix(in srgb,var(--ink) 22%,transparent);overflow:clip}.story-track span{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left}.story-steps{display:flex;gap:var(--space-lg);flex:1}.story-steps button{font-size:13px;min-height:44px;padding:0;color:var(--ink);opacity:.5;position:relative}.story-steps button[aria-current="step"]{opacity:1;font-weight:700}.story-steps button[aria-current="step"]::after{content:"";position:absolute;bottom:var(--space-2xs);left:0;right:0;height:2px;background:currentColor}.story-steps button:hover{opacity:1}.story-hint{font-size:11px}.story-static .harvest-story{height:auto}.story-static .story-pin{position:relative;min-height:760px}.story-static .story-instruction,.story-static .story-hint,.story-static .story-track{display:none}.story-static .story-steps{justify-content:center}
@media(min-width:1700px){.story-visual{right:-1%;width:69%}.story-copy h2{font-size:100px}}
@media(max-width:1000px){.story-copy h2{font-size:72px}.story-copy{width:43%}.story-visual{width:80%;right:-12%}.story-steps{gap:var(--space-md)}.story-track{width:72px}.story-hint{display:none}}
@media(max-width:780px){:is(.story-enabled,.story-pending) .harvest-story{height:620svh}.story-pin{min-height:620px}.story-header{height:74px}.story-header .brand{font-size:26px}.story-header .text-link{font-size:11px}.story-layout{height:calc(100% - 154px);align-items:flex-start;padding-top:var(--space-md)}.story-copy{width:100%}.story-chapter{font-size:11px;margin-bottom:var(--space-sm)}.story-copy h2{font-size:clamp(44px,10vw,66px);max-width:100%}.story-copy p{font-size:13px;max-width:34ch;margin-top:var(--space-sm)}.story-copy .story-instruction{font-size:10px;margin-top:var(--space-sm)}.story-visual{width:100%;height:67%;right:0;top:35%}.story-footer{bottom:var(--space-lg);display:block}.story-track{width:100%;height:2px;margin-bottom:var(--space-sm)}.story-steps{justify-content:space-between;gap:var(--space-xs)}.story-steps button{font-size:11px}.story-static .story-pin{min-height:760px}.story-static .story-steps{justify-content:space-between}}
@media(max-width:380px){.story-copy h2{font-size:42px}.story-copy p{font-size:12px}.story-visual{top:38%;height:62%}.story-steps button{font-size:10px}.story-header .text-link{font-size:10px}}
@media(prefers-reduced-motion:reduce){.harvest-story{height:auto}.story-pin{position:relative;min-height:760px}.story-instruction,.story-hint,.story-track{display:none}}

/* Reduced motion keeps one compact scene; chapter buttons change the state instantly. */
.story-static .harvest-story{height:auto}.story-static .story-pin{position:relative}
@media(prefers-reduced-motion:reduce){:is(.story-enabled,.story-pending) .harvest-story{height:auto}:is(.story-enabled,.story-pending) .story-pin{position:relative}}
