/* Motion is tied to meaning: assemble, gather, route, deliver. */
.mobile-business-feature{background:#eee2f6;padding:30px 20px;position:relative}.mobile-business-feature .business-slider{padding:25px 0;border-radius:24px;background:#f8f2fb;color:#294232;border:1px solid #cdb7dd;overflow:hidden}.mobile-business-feature .business-slide h2{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans',sans-serif;font-weight:650}.site-mobile .hero{min-height:0;padding-bottom:55px}.site-mobile .hero>.scroll{margin-top:24px}.site-mobile .hero>.ambient-field{height:100%}.site-mobile .menu summary{display:flex;align-items:center;gap:13px;padding:10px 14px;min-height:44px;list-style:none;font-size:10px;background:#fffaf0}.menu summary::-webkit-details-marker{display:none}.menu-lines{display:block;width:18px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative;transition:transform .25s}.menu-lines:after{content:'';position:absolute;left:0;right:0;top:5px;border-top:1px solid currentColor;transition:transform .25s}.menu[open] .menu-lines{transform:rotate(45deg);height:0;border-bottom:0}.menu[open] .menu-lines:after{top:-1px;transform:rotate(90deg)}.site-mobile .sheet{border-radius:0 0 22px 22px;padding:20px 24px 25px;box-shadow:0 20px 35px #26473120}.site-mobile .menu[open] .sheet{animation:menu-open .28s ease-out}.site-mobile .sheet a{display:flex;justify-content:space-between;align-items:center;min-height:48px;font-size:15px;padding:13px 0}.site-mobile .sheet a:first-child{background:#285a40;color:#fffbe8;border:0;border-radius:12px;padding:15px 18px;margin-bottom:10px}.site-mobile .sheet .switch{font-size:11px}.site-mobile .sheet small{font-size:10px}header{transition:box-shadow .25s}header.header-scrolled{box-shadow:0 5px 22px #1d422c14}
#functions .capability-panel{overflow:hidden}#functions .capability-content{position:relative;min-height:0}#functions .capability-number{opacity:.4;font-size:90px;right:16px;top:8px;pointer-events:none}#functions .capability-art{max-width:330px;margin:0 auto 20px;position:relative;z-index:1}.capability-art svg{display:block;width:100%;height:auto;overflow:visible}.capability-art .art-piece{fill:#e0edbf;stroke:#9db27e;stroke-width:1.5}.capability-art .art-core{fill:#345e44}.capability-art .art-line{fill:none;stroke:#8d9c77;stroke-width:2;stroke-linecap:round}.capability-art text{text-anchor:middle;fill:#304e33;font-size:12px;font-family:sans-serif}.capability-art .art-white{fill:#fff9e7}.motion-active .content-enter .art-piece{transform-box:fill-box;transform-origin:center;animation:assemble .7s cubic-bezier(.2,.8,.2,1) both}.motion-active .content-enter .art-piece:nth-of-type(2){animation-delay:.12s}.motion-active .content-enter .art-piece:nth-of-type(3){animation-delay:.24s}.motion-active .content-enter .art-line{stroke-dasharray:8 5;animation:route-dash 1.3s linear 2}.motion-active .content-enter .art-core{animation:core-color 1.7s ease-out}.capability-menu button{transition:background .25s,transform .25s}.capability-menu button:hover{transform:translateX(5px)}.capability-menu button[aria-pressed=true]{box-shadow:inset 4px 0 #4d7950;padding-left:18px!important}.capability-content.content-enter{animation:panel-arrive .45s ease-out!important}
.service-motion{--progress:0%;padding:30px 24px 15px;background:#234e3c;border:1px solid #6a8b6f;border-radius:22px;margin:26px 0 18px;overflow:hidden}.service-stations,.service-dots{display:flex;justify-content:space-between;gap:10px}.service-stations{font-size:10px;color:#d2e3c0;margin-bottom:62px}.service-stations span{text-align:center;flex:1}.service-road{height:3px;background:#5f7e61;margin:0 8%;position:relative}.service-road-fill{height:3px;width:var(--progress);background:#f6c282;transition:width .9s cubic-bezier(.2,.8,.2,1)}.service-car{position:absolute;width:58px;height:36px;left:var(--progress);bottom:4px;transform:translateX(-50%);transition:left .9s cubic-bezier(.2,.8,.2,1)}.service-car svg{width:100%;height:100%;overflow:visible;fill:#f6c282;stroke:#193c2b;stroke-width:1.8}.service-car svg path+path{fill:#c9e0ba}.service-car svg circle{fill:#fff9e4}.service-dots{margin:-5px 8% 0;position:relative}.service-dots i{width:8px;height:8px;border-radius:50%;background:#749574;transition:background .3s,box-shadow .3s}.service-dots i.passed{background:#f6c282;box-shadow:0 0 0 4px #f6c28222}.journey-detail.detail-enter{animation:panel-arrive .5s ease-out!important}.journey-steps button{transition:background .3s,color .3s,transform .3s}.journey-steps button:hover{transform:translateY(-3px)}
#cases .case{border:1px solid #b4ccc0;border-radius:26px;padding:30px;margin-top:26px;background:#fbfcf2;overflow:hidden;position:relative;transition:box-shadow .3s,transform .3s}#cases .case:nth-of-type(2){background:#fff0dc}#cases .case:nth-of-type(3){background:#eee4f5}#cases .case h3{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans',sans-serif;letter-spacing:-.035em}#cases .case-board{border:1px solid #c5d6bd;border-radius:20px;box-shadow:none;overflow:hidden;position:relative;background:#e0ecd0}#cases .case:nth-of-type(2) .case-board{background:#f8dfbd}#cases .case:nth-of-type(3) .case-board{background:#dfd0ee}#cases .pill{position:relative;border-radius:16px;background:#fffaf0;color:#355339;border-color:#96af86}#cases .pill.center,#cases .pill.core{background:#315f42;color:#fff9e9;border-color:#315f42}#cases .arrow,#cases .arr-v{position:relative;color:#637a50}#cases .arrow:after,#cases .arr-v:after{content:'';position:absolute;width:7px;height:7px;background:#567b44;border-radius:50%;left:0;top:50%;opacity:0}#cases .arr-v:after{top:0;left:50%}.case.case-arrived .pill{animation:case-node .6s ease-out both}.case.case-arrived .pill.center,.case.case-arrived .pill.core{animation-delay:.25s}.case.case-arrived .pill:last-child{animation-delay:.5s}.case.case-arrived .arrow:after{animation:project-flow 1.5s ease-in-out 2}.case.case-arrived .arr-v:after{animation:project-flow-down 1.5s ease-in-out 2}#cases .case:hover{box-shadow:0 10px 28px #3c634317;transform:translateY(-3px)}.motion-heading-in{animation:heading-arrive .75s cubic-bezier(.2,.8,.2,1) both}
@keyframes heading-arrive{from{translate:0 22px}to{translate:0 0}}@keyframes menu-open{from{transform:translateY(-12px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes assemble{from{transform:scale(.8) translateY(10px)}to{transform:scale(1) translateY(0)}}@keyframes route-dash{to{stroke-dashoffset:-26}}@keyframes core-color{0%{fill:#84a260}100%{fill:#345e44}}@keyframes panel-arrive{from{translate:0 12px;opacity:.65}to{translate:0 0;opacity:1}}@keyframes case-node{from{translate:0 14px}to{translate:0 0}}@keyframes project-flow{0%{left:0;opacity:0}20%,80%{opacity:1}100%{left:95%;opacity:0}}@keyframes project-flow-down{0%{top:0;opacity:0}20%,80%{opacity:1}100%{top:95%;opacity:0}}
@media(max-width:800px){#functions .capability-art{max-width:270px;margin-bottom:12px}#cases .case{padding:24px 20px;border-radius:23px}#cases .case-board{margin:20px 0 0}.service-motion{padding:22px 8px 20px}.service-stations{font-size:8px;gap:2px;margin-bottom:55px}.service-car{width:47px;height:29px}.capability-menu button:hover,.journey-steps button:hover,#cases .case:hover{transform:none}}
.site-mobile #functions .capability-art{max-width:290px}.site-mobile #cases .case{padding:25px 20px}.site-mobile .service-stations{font-size:9px}
@media(prefers-reduced-motion:reduce){.motion-heading-in,.capability-content.content-enter,.journey-detail.detail-enter,.menu[open] .sheet,.case-arrived *,.motion-active .capability-art *{animation:none!important}.service-car,.service-road-fill,.service-dots i,.capability-menu button,.journey-steps button,#cases .case,.menu-lines,.menu-lines:after{transition:none!important}}
