/* Choreography below the opening scene: native, lightweight and optional. */
.motion-section{position:relative;--section-play:paused}
.section-seam{position:absolute;top:0;left:0;right:0;height:1px;overflow:hidden;pointer-events:none;background:linear-gradient(90deg,transparent,#9e5b373d,transparent)}
.section-seam:after{content:'';position:absolute;width:28%;height:1px;left:-30%;background:linear-gradient(90deg,transparent,#ffb787,transparent);animation:seam-travel 8s ease-in-out infinite;animation-play-state:var(--section-play)}
@keyframes seam-travel{0%,15%{transform:translateX(0);opacity:0}30%{opacity:1}85%,100%{transform:translateX(470%);opacity:0}}
.flow-lab,.contact-section{isolation:isolate;overflow:clip}
.section-orbit{position:absolute;width:740px;height:740px;right:-285px;top:-130px;border:1px solid #f8915220;border-radius:50%;pointer-events:none;z-index:-1;animation:section-orbit 38s linear infinite;animation-play-state:var(--section-play)}
.section-orbit:before,.section-orbit:after{content:'';position:absolute;inset:45px;border-radius:50%;border:1px dashed #f891521b}
.section-orbit:after{inset:100px;border:1px solid #f891521b;border-top-color:#f8a77666;transform:rotate(-35deg)}
@keyframes section-orbit{to{transform:rotate(360deg)}}
.contact-section .section-orbit{right:auto;left:-250px;top:-45px;width:680px;height:680px}
.motion-section .eyebrow{position:relative}
.motion-section .eyebrow:before{content:'';display:inline-block;width:6px;height:6px;margin-right:10px;background:#ff976e;box-shadow:0 0 12px #ff976e66;vertical-align:1px;transform:rotate(45deg)}
.service-layout{perspective:1400px}
.service-tabs{position:relative}
.service-tab{position:relative;transition:color .25s,background .3s,padding .3s}
.service-tab:before{content:'';position:absolute;left:-13px;top:23%;height:54%;width:2px;background:var(--orange);transform:scaleY(0);transform-origin:center;transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 14px #ff784c55}
.service-tab.active:before{transform:scaleY(1)}
.service-tab .tab-plus{transition:transform .4s,color .3s}.service-tab.active .tab-plus{transform:rotate(135deg)}
.service-tab:hover{padding-left:7px}
#service-visual{position:relative;transform-origin:50% 65%;box-shadow:0 18px 50px #0003}
#service-visual:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;border:1px solid #ffba811f}
.chart-bars>div{transform-origin:center bottom}
.ai-spark{display:inline-block;animation:service-spark 9s linear infinite;animation-play-state:var(--section-play)}
@keyframes service-spark{to{transform:rotate(180deg)}}
.concept-card{position:relative;--image-shift:0px;--spot-x:50%;--spot-y:50%;transition:border-color .4s,box-shadow .4s}
.concept-card:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(380px circle at var(--spot-x) var(--spot-y),#ffbd8911,transparent 75%);transition:opacity .4s}
.concept-card:hover,.concept-card:focus-within{border-color:#9e6a4d;box-shadow:0 20px 55px #0004}
.concept-card:hover:after{opacity:1}
.concept-preview>img,.concept-preview:hover>img{transform:translate3d(0,var(--image-shift),0) scale(1.14);transition:transform .18s linear}
.concept-preview-title{transition:translate .5s cubic-bezier(.2,.8,.2,1)}
.concept-preview:hover .concept-preview-title{translate:0 -7px}
.concept-open{transition:background .3s,border-color .3s,translate .3s}.concept-preview:hover .concept-open{background:#171616d9;border-color:#ffd2b5;translate:0 -3px}
.concept-open>span{display:inline-block;transition:transform .3s}.concept-preview:hover .concept-open>span{transform:translate(2px,-2px)}
.process-grid{position:relative;--route-progress:0}
.process-grid:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#ad4827,#ffab75);transform:scaleX(var(--route-progress));transform-origin:left;box-shadow:0 0 14px #ff784c45}
.process-grid article{position:relative;transition:background .4s}
.process-grid article:before{content:'';position:absolute;left:0;top:-4px;width:7px;height:7px;background:#63514b;border-radius:50%;transition:background .4s,box-shadow .4s}
.process-grid article.is-connected:before{background:#ffab75;box-shadow:0 0 14px #ff784c88}
.process-grid article.is-connected .process-number{color:#ffc4a7;transition:color .5s}
.process-grid article:hover{background:linear-gradient(#ff784c08,transparent)}
.faq-list details{transition:background .3s,border-color .3s}.faq-list details[open]{background:linear-gradient(90deg,#ff784c08,transparent);border-color:#8d5a42}
.faq-list summary{transition:color .25s}.faq-list summary:hover{color:#ffc1a6}
#contact-form{position:relative;box-shadow:0 25px 65px #0003;transition:border-color .4s,box-shadow .4s}
#contact-form:focus-within{border-color:#b47858;box-shadow:0 25px 65px #0003,0 0 30px #ff784c0d}
.page-motion-toggle{position:fixed;right:18px;bottom:18px;z-index:30;display:grid;place-items:center;min-width:44px;height:44px;padding:8px;border-radius:50%;border:1px solid #8b6551;background:#191714ed;color:#ffcfb3;font:15px var(--font);box-shadow:0 5px 20px #0005;cursor:pointer}
.page-motion-toggle[hidden]{display:none}.page-motion-toggle:hover{background:#39251e}.page-motion-toggle:focus-visible{outline:2px solid #ffc5a5;outline-offset:4px}
html[data-effects=paused] .motion-section *,html[data-effects=paused] .motion-section :before,html[data-effects=paused] .motion-section :after{animation-play-state:paused!important;transition:none!important}
html[data-effects=paused] .concept-preview>img{transform:none}
@media(max-width:760px){.service-tab:hover{padding-left:0}.section-orbit{width:540px;height:540px;right:-350px;opacity:.65}.concept-preview>img,.concept-preview:hover>img{transform:translate3d(0,var(--image-shift),0) scale(1.1)}.process-grid:before{display:none}.process-grid article:before{left:auto;right:5px;top:30px}.page-motion-toggle{right:12px;bottom:12px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.section-seam:after,.section-orbit,.page-motion-toggle{display:none}.concept-preview>img{transform:none!important}.concept-preview:hover .concept-preview-title,.concept-preview:hover .concept-open{translate:none}.motion-section *,.motion-section :before,.motion-section :after{animation:none!important;transition:none!important}}
