.intro .philosophy-journey{width:100%;max-width:1400px;margin:64px auto 0;text-align:left}
.intro .philosophy-journey h3{font-size:clamp(30px,3.3vw,48px);text-align:center;margin:0 0 38px;line-height:1.2}
.journey-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
.journey-stages li{min-width:0}
.journey-icon > svg{min-width:144px;min-height:144px}
.journey-stages li:is(:hover,:focus) .earth-land{animation:earth-turn 10s linear infinite}
.journey-stages li:is(:hover,:focus) .chimney-smoke{animation:chimney-rise 2.5s ease-out infinite}
.journey-stages li:is(:hover,:focus) .picker-head{animation:picker-lift 4s ease-in-out infinite}
.journey-stages li:is(:hover,:focus) .finger-left{animation:grip-left 4s ease-in-out infinite}
.journey-stages li:is(:hover,:focus) .finger-right{animation:grip-right 4s ease-in-out infinite}
.journey-stages li:is(:hover,:focus) .picked-seed{animation:seed-lift 4s ease-in-out infinite}
.journey-stages li:is(:hover,:focus) .dish-steam path{animation:culinary-steam 2.8s ease-out infinite}
.journey-stages li:is(:hover,:focus) .dish-steam path:nth-child(2){animation-delay:.7s}
.journey-stages li:is(:hover,:focus) .dish-steam path:nth-child(3){animation-delay:1.4s}
@keyframes earth-turn{to{transform:translateX(-120px)}}
@keyframes chimney-rise{0%{opacity:.15;transform:translateY(3px)}50%{opacity:.8}100%{opacity:0;transform:translate(4px,-9px)}}
@keyframes picker-lift{0%,20%,85%,100%{transform:translateY(0)}40%,65%{transform:translateY(-19px)}}
@keyframes grip-left{0%,100%{transform:translateX(-5px)}20%,85%{transform:translateX(0)}}
@keyframes grip-right{0%,100%{transform:translateX(5px)}20%,85%{transform:translateX(0)}}
@keyframes seed-lift{0%,20%,85%,100%{transform:translateY(0)}40%,65%{transform:translateY(-19px)}}
@keyframes culinary-steam{0%{opacity:0;transform:translateY(5px)}35%{opacity:.8}100%{opacity:0;transform:translate(2px,-10px)}}
.journey-icon{height:220px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f0eee5,#e2e5da);border:1px solid #d3d7ca;isolation:isolate;transition:background .35s ease,transform .35s ease}
.journey-icon:before,.journey-icon:after{content:"";position:absolute;border:1px solid rgba(66,88,59,.18);border-radius:50%;z-index:-1}
.journey-icon:before{width:175px;height:175px}.journey-icon:after{width:245px;height:245px}
.journey-icon svg{width:116px;height:116px;stroke:var(--green);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s ease}.journey-icon .map-fill,.journey-icon .leaf,.journey-icon .dot,.journey-icon .food{fill:#9da76c;stroke:none}.journey-icon .plate{fill:#f5f1e7;stroke:#697e5d}.journey-icon .sauce{stroke:#ae964e;stroke-width:3}.journey-icon .grain-pick{fill:#d2c59d;stroke:var(--green)}.journey-icon .pincher{fill:#697e5d;stroke:var(--green)}.journey-icon .sun{stroke:#ae964e;fill:#dfcb7e}.journey-icon .horizon{stroke:#8fa078}.journey-icon .field,.journey-icon .vine{stroke:#58704f}.journey-icon .rows{stroke:#697e5d}.journey-icon .steam{stroke:#ae964e}.icon-orbit{position:absolute;inset:0;pointer-events:none}.ingredient{position:absolute;display:block;box-shadow:inset -1px -1px 0 rgba(66,88,59,.18)}.ingredient.grain{top:25px;left:27px;width:10px;height:17px;border-radius:70% 30% 70% 30%;background:#9da76c;transform:rotate(28deg)}.ingredient.rice{right:26px;bottom:29px;width:7px;height:20px;border-radius:999px;background:#d2c59d;transform:rotate(45deg)}.ingredient.pulse{left:31px;bottom:33px;width:13px;height:13px;border-radius:50%;background:#718460}
.journey-stages li:hover .journey-icon,.journey-stages li:focus .journey-icon{background:linear-gradient(145deg,#e5e9da,#d7dfce);transform:translateY(-4px)}
.journey-stages li:hover .journey-icon svg,.journey-stages li:focus .journey-icon svg{transform:scale(1.06)}.journey-stages li:hover .globe,.journey-stages li:focus .globe{animation:spin-horizontal 2.6s ease-in-out infinite;transform-origin:60px 60px}.journey-stages li:hover .sun,.journey-stages li:focus .sun{animation:shine 1.5s ease-in-out infinite;transform-origin:91px 25px}.journey-stages li:hover .field,.journey-stages li:focus .field{animation:sway 1.2s ease-in-out infinite alternate;transform-origin:54px 94px}.journey-stages li:hover .robot,.journey-stages li:focus .robot{animation:pick 1.5s ease-in-out infinite;transform-origin:55px 70px}.journey-stages li:hover .grain-pick,.journey-stages li:focus .grain-pick{animation:grain 1.5s ease-in-out infinite}.journey-stages li:hover .steam,.journey-stages li:focus .steam{animation:steam 1.6s ease-in-out infinite;transform-origin:60px 40px}
.journey-stages li:hover .ingredient.grain,.journey-stages li:focus .ingredient.grain{animation:float-grain 1.8s ease-in-out infinite}.journey-stages li:hover .ingredient.rice,.journey-stages li:focus .ingredient.rice{animation:float-rice 2s ease-in-out .15s infinite}.journey-stages li:hover .ingredient.pulse,.journey-stages li:focus .ingredient.pulse{animation:float-pulse 1.7s ease-in-out .25s infinite}
.journey-track{display:flex;align-items:center;gap:12px;margin:22px 0 18px;color:var(--green);position:relative}
.journey-number{display:flex;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:50%;width:38px;height:38px;flex-shrink:0;font-size:14px;font-variant-numeric:tabular-nums}
.journey-stage{font-size:16px;font-weight:500}
.journey-arrow{margin-left:auto;font-size:24px;color:#8a927f}
.journey-stages h4{font-family:Georgia,serif;font-size:21px;line-height:1.3;font-weight:400;margin:0 0 12px;color:var(--ink)}
.journey-description{font-size:16px;line-height:1.7;color:var(--muted)}
@media(max-width:1000px){.journey-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}}
@keyframes spin-horizontal{0%,100%{transform:perspective(260px) rotateY(0)}50%{transform:perspective(260px) rotateY(180deg)}}@keyframes shine{50%{transform:scale(1.25);opacity:.7}}@keyframes sway{to{transform:rotate(3deg)}}@keyframes pick{50%{transform:translate(9px,-5px) rotate(4deg)}}@keyframes grain{50%{transform:translate(-9px,-12px) rotate(-12deg)}}@keyframes steam{50%{transform:translateY(-8px);opacity:.55}}
@keyframes float-grain{50%{transform:translate(5px,-10px) rotate(65deg)}}@keyframes float-rice{50%{transform:translate(-8px,-9px) rotate(95deg)}}@keyframes float-pulse{50%{transform:translate(8px,-8px) scale(1.14)}}
@media(prefers-reduced-motion:reduce){.journey-stages li:is(:hover,:focus) .journey-icon *{animation:none!important}.journey-icon,.journey-icon svg{transition:none}}
@media(max-width:540px){.intro .philosophy-journey{margin-top:44px}.journey-stages{grid-template-columns:1fr;gap:32px}.journey-icon{height:190px}.journey-arrow{transform:rotate(90deg)}.journey-track{margin-top:18px}.journey-stages li{padding-bottom:24px;border-bottom:1px solid var(--line)}.journey-stages li:last-child{border-bottom:0}}

/* Coordinated illustrations with individual ingredient arrangements. */
.journey-icon .journey-illustration{width:176px;height:176px;object-fit:contain;position:relative;z-index:1;transition:transform .7s cubic-bezier(.2,.65,.3,1);filter:drop-shadow(0 3px 4px rgba(45,81,57,.07))}
.journey-icon:before{width:184px;height:184px;border-color:rgba(66,88,59,.10)}
.journey-icon:after{display:none}
.journey-stages li:is(:hover,:focus,:focus-within) .journey-illustration{transform:translateY(-3px) scale(1.055)}
.icon-2 .journey-illustration{width:192px;height:192px;max-width:calc(100% - 64px);max-height:calc(100% - 32px)}
.icon-3 .journey-illustration{width:180px;height:180px}
.icon-4 .journey-illustration{width:188px;height:188px}
.icon-orbit{z-index:2}
.journey-icon .ingredient{top:var(--seed-top);left:var(--seed-left);right:auto;bottom:auto;transform:rotate(var(--seed-angle));--seed-dx:5px;--seed-dy:-9px;--seed-turn:20deg;--seed-duration:3.8s;--seed-delay:0s}
.icon-1 .grain{--seed-top:13%;--seed-left:15%;--seed-angle:24deg;--seed-duration:3.4s}
.icon-1 .rice{--seed-top:28%;--seed-left:86%;--seed-angle:-30deg;--seed-dx:-6px;--seed-duration:4.1s;--seed-delay:-1.2s}
.icon-1 .pulse{--seed-top:81%;--seed-left:23%;--seed-angle:0deg;--seed-dx:8px;--seed-dy:-5px;--seed-delay:-2.1s}
.icon-2 .grain{--seed-top:59%;--seed-left:10px;--seed-angle:62deg;--seed-dx:2px;--seed-dy:5px;--seed-duration:4.3s;--seed-delay:-.6s}
.icon-2 .rice{--seed-top:10%;--seed-left:calc(100% - 20px);--seed-angle:12deg;--seed-dx:-2px;--seed-dy:4px;--seed-duration:3.5s;--seed-delay:-1.8s}
.icon-2 .pulse{--seed-top:83%;--seed-left:calc(100% - 24px);--seed-angle:0deg;--seed-dx:2px;--seed-dy:-4px;--seed-duration:4.7s}
.icon-3 .grain{--seed-top:37%;--seed-left:8%;--seed-angle:-28deg;--seed-dx:6px;--seed-dy:6px;--seed-duration:4.5s;--seed-delay:-1.3s}
.icon-3 .rice{--seed-top:84%;--seed-left:72%;--seed-angle:72deg;--seed-dx:-8px;--seed-dy:-4px;--seed-duration:3.7s}
.icon-3 .pulse{--seed-top:14%;--seed-left:82%;--seed-angle:0deg;--seed-dx:-5px;--seed-duration:4s;--seed-delay:-2.6s}
.icon-4 .grain{--seed-top:8%;--seed-left:35%;--seed-angle:83deg;--seed-dx:-8px;--seed-dy:4px;--seed-duration:3.9s;--seed-delay:-1.9s}
.icon-4 .rice{--seed-top:70%;--seed-left:10%;--seed-angle:-16deg;--seed-dx:4px;--seed-dy:-8px;--seed-duration:4.8s;--seed-delay:-.9s}
.icon-4 .pulse{--seed-top:65%;--seed-left:88%;--seed-angle:0deg;--seed-dx:-4px;--seed-dy:7px;--seed-duration:3.6s}
.journey-stages li:is(:hover,:focus,:focus-within) .journey-icon .ingredient{animation:ingredient-drift var(--seed-duration) ease-in-out var(--seed-delay) infinite}
@keyframes ingredient-drift{0%,100%{transform:translate(0,0) rotate(var(--seed-angle))}50%{transform:translate(var(--seed-dx),var(--seed-dy)) rotate(calc(var(--seed-angle) + var(--seed-turn)))}}
@media(prefers-reduced-motion:reduce){.journey-icon .journey-illustration{transition:none}.journey-stages li:is(:hover,:focus,:focus-within) .journey-icon .ingredient{animation:none!important}}

/* Small, individual motion on viewport arrival, hover and keyboard focus. */
.journey-stages li:is(.icon-in-view,:hover,:focus,:focus-within) .illustration-origin{animation:origin-gently-turn 2.6s ease-in-out 2;transform-origin:50% 50%}
.journey-stages li:is(.icon-in-view,:hover,:focus,:focus-within) .illustration-selection{animation:field-breeze 2.8s ease-in-out 2;transform-origin:50% 90%}
.journey-stages li:is(.icon-in-view,:hover,:focus,:focus-within) .illustration-handling{animation:arm-inspect 2.4s ease-in-out 2;transform-origin:30% 85%}
.journey-stages li:is(.icon-in-view,:hover,:focus,:focus-within) .illustration-recipes{animation:plate-present 3s ease-in-out 2;transform-origin:50% 50%}
.journey-stages li:is(:hover,:focus,:focus-within) .journey-illustration{animation-iteration-count:infinite}
@keyframes origin-gently-turn{0%,100%{transform:perspective(600px) rotateY(-7deg)}50%{transform:perspective(600px) rotateY(7deg) translateY(-2px)}}
@keyframes field-breeze{0%,100%{transform:rotate(-.7deg)}50%{transform:rotate(.7deg) translateY(-2px)}}
@keyframes arm-inspect{0%,100%{transform:rotate(0)}40%,60%{transform:rotate(-3deg) translateY(-3px)}}
@keyframes plate-present{0%,100%{transform:rotate(-2deg) scale(1)}50%{transform:rotate(2deg) scale(1.035)}}
@media(prefers-reduced-motion:reduce){.journey-stages li .journey-illustration{animation:none!important;transform:none!important}}
