
.ci{position:relative;width:100%;aspect-ratio:1200/770;--px:0;--py:0}
.ci .pl{position:absolute;inset:0;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.ci .ly{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;pointer-events:none}
.ci .pl-sun{transform:translate(calc(var(--px)*-12px),calc(var(--py)*-8px))}
.ci .pl-ground{transform:translate(calc(var(--px)*7px),calc(var(--py)*3px))}
.ci .g-flower,.ci .g-sun{position:absolute;inset:0}
.ci .g-flower{transform-origin:72.5% 84.3%}          
.ci .hill{transform-origin:50% 100%}
.ci .bloom{transform-origin:65.8% 50.8%}              
.ci .sun_heart{transform-origin:29.2% 43.9%}
.ci .ray{transform-origin:29.9% 43.4%}


.ci .fb,.ci .hill{transition:filter .7s ease}
.ci .hi{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;pointer-events:none}
.ci[data-focus] .g-flower .fb{filter:opacity(.12) grayscale(1)}
.ci[data-focus]:not([data-focus="sun"]) .g-sun .fb{filter:opacity(.12) grayscale(1)}
.ci[data-focus]:not([data-focus="hill"]) .hill{filter:opacity(.12) grayscale(1)}
.ci[data-focus="bloom"] .hi-bloom,.ci[data-focus="leaf"] .hi-leaf{opacity:1}


@keyframes ci-ground{from{transform:translateY(8%);opacity:0}to{transform:none;opacity:1}}
@keyframes ci-grow{0%{transform:scale(.03);opacity:0}18%{opacity:1}72%{transform:scale(1.035)}100%{transform:none;opacity:1}}
@keyframes ci-bloom{0%{transform:scale(.8)}55%{transform:scale(1.07)}100%{transform:none}}
@keyframes ci-rise{from{transform:translateY(26%);opacity:0}to{transform:none;opacity:1}}
@keyframes ci-ray{from{transform:scale(.25) rotate(-22deg);opacity:0}to{transform:none;opacity:1}}
@keyframes ci-bob{from{transform:translateY(0)}to{transform:translateY(-1.6%)}}
@keyframes ci-beat{0%,100%{transform:none}14%{transform:scale(1.13)}28%{transform:none}42%{transform:scale(1.08)}56%{transform:none}}
@keyframes ci-sway{from{transform:rotate(-1.3deg)}to{transform:rotate(1.7deg)}}
@keyframes ci-shim{0%,100%{opacity:1}50%{opacity:.78}}

html.fx:not(.nomo) .ci:not(.go) .ly,html.fx:not(.nomo) .ci:not(.go) .g-flower{opacity:0}
html.fx:not(.nomo) .ci.go .hill{animation:ci-ground 1.2s cubic-bezier(.2,.8,.2,1) both}
html.fx:not(.nomo) .ci.go .g-flower{animation:ci-grow 1.7s cubic-bezier(.25,.8,.25,1) .45s both,ci-sway 7s ease-in-out 2.3s infinite alternate}
html.fx:not(.nomo) .ci.go .bloom{animation:ci-bloom .9s cubic-bezier(.3,1.2,.5,1) 1.75s both}
html.fx:not(.nomo) .ci.go .g-sun{animation:ci-bob 5.5s ease-in-out 2s infinite alternate}
html.fx:not(.nomo) .ci.go .sun{animation:ci-rise 1.5s cubic-bezier(.2,.8,.2,1) .15s both}
html.fx:not(.nomo) .ci.go .sun_heart{animation:ci-rise 1.5s cubic-bezier(.2,.8,.2,1) .15s both,ci-beat 2.6s ease-in-out 2.2s infinite}
html.fx:not(.nomo) .ci.go .ray{animation:ci-ray .9s cubic-bezier(.3,1.2,.5,1) calc(.9s + var(--i)*.12s) both,ci-shim 4s ease-in-out calc(2.2s + var(--i)*.45s) infinite}
html.fx:not(.nomo) .ci.go.paused *{animation-play-state:paused!important}
html.fx:not(.nomo) .ci.go .ly{opacity:1}


.story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);align-items:start}
.story__stage{position:sticky;top:6rem;align-self:start}
.story__step{min-height:78vh;display:flex;flex-direction:column;justify-content:center;padding-block:2rem;opacity:.35;transition:opacity .5s}
.story__step.on{opacity:1}
html:not(.fx) .story__step,html.nomo .story__step{opacity:1;min-height:0;padding-block:2.5rem}
.story__step .k{font-weight:700;color:var(--ink70,rgba(20,17,14,.72));display:flex;align-items:center;gap:.7rem}
.story__step .k i{width:1rem;height:1rem;border-radius:50%;border:2px solid var(--ink,#14110E);background:var(--sw)}
.story__step h3{font-family:var(--head);font-weight:900;font-size:clamp(2rem,4.6vw,3.75rem);letter-spacing:-.06em;line-height:1.1;margin:.8rem 0 0}
.story__step p{margin:1rem 0 0;font-size:clamp(1.125rem,1.6vw,1.3rem);color:var(--ink70,rgba(20,17,14,.72));max-width:26em}
@media (max-width:60rem){.story{grid-template-columns:1fr}.story__stage{position:sticky;top:4.5rem;z-index:2;background:var(--bgst,#fff);padding-block:.5rem}.story__step{min-height:62vh}}
