.illustration-motion{--illustration-cycle:15s;--illustration-step:3s;--illustration-play-state:paused}.illustration-motion.is-playing{--illustration-play-state:running}.illustration-cycle>svg,.illustration-entry>svg{width:100%;height:auto;display:block}.illustration-orbit{fill:none;stroke:var(--ec-gray);stroke-width:3px;opacity:.35}.illustration-station{fill:var(--ec-gray)}.illustration-phase,.illustration-endpoint{fill:var(--ec-coral);opacity:0}.illustration-cycle>svg>g:first-of-type .illustration-phase{opacity:1}.illustration-cycle-state{justify-content:center;align-items:center;gap:var(--ec-space-3);opacity:0;color:var(--ec-white);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:25% 27%}.illustration-cycle-state:first-of-type{opacity:1}.illustration-cycle-state strong{font-size:var(--ec-fs-small)}.illustration-cycle-symbol{aspect-ratio:1;flex-shrink:0;width:80%;display:block}.illustration-cycle-symbol .ec-icon,.illustration-cycle-symbol svg{width:100%;height:100%}.illustration-entry{--illustration-cycle:21s}.illustration-branch{fill:none;stroke:var(--ec-gray);stroke-width:3px;opacity:.35}.illustration-branch-active{fill:none;stroke:var(--ec-coral);stroke-width:4px;opacity:0}.illustration-input{fill:none;stroke:var(--ec-coral);stroke-width:5px;stroke-linecap:round}.illustration-paths .illustration-path-step{padding:var(--ec-space-3);border-radius:var(--ec-radius-card);background:var(--ec-gray);color:var(--ec-navy);font-size:var(--ec-fs-small);transition:transform var(--ec-dur-fast) var(--ec-ease-out-expo);text-decoration:none;position:relative}.illustration-path-number{opacity:.65}.illustration-path-marker{width:var(--ec-space-5);border-radius:var(--ec-radius-pill);background:var(--ec-coral);height:.3rem}.illustration-paths .illustration-path-step:hover,.illustration-paths .illustration-path-step:focus-visible{color:var(--ec-navy);transform:translateY(-4px)}.illustration-paths .illustration-path-step:focus-visible{outline:3px solid var(--ec-coral);outline-offset:5px}.illustration-journey{--illustration-cycle:9s}@media (width>=992px){.illustration-cycle{opacity:.65}}@media (prefers-reduced-motion:no-preference){.illustration-motion.is-enabled .illustration-cycle-state,.illustration-motion.is-enabled .illustration-phase{animation:illustration-cycle-state var(--illustration-cycle) var(--ec-ease-out-expo) infinite;animation-delay:calc(var(--phase) * var(--illustration-step) - var(--illustration-cycle));animation-play-state:var(--illustration-play-state)}.illustration-motion.is-enabled .illustration-branch-active,.illustration-motion.is-enabled .illustration-endpoint{animation:illustration-entry-state var(--illustration-cycle) var(--ec-ease-out-expo) infinite;animation-delay:calc(var(--phase) * var(--illustration-step) - var(--illustration-cycle));animation-play-state:var(--illustration-play-state)}.illustration-motion.is-enabled .illustration-path-marker{animation:illustration-path-pass var(--illustration-cycle) var(--ec-ease-out-expo) both;animation-delay:calc(var(--phase) * var(--illustration-step));animation-play-state:var(--illustration-play-state);transform-origin:0}}@keyframes illustration-cycle-state{0%,16%{opacity:1}20%,96%{opacity:0}to{opacity:1}}@keyframes illustration-entry-state{0%,10%{opacity:1}14.285%,96%{opacity:0}to{opacity:1}}@keyframes illustration-path-pass{0%{opacity:.3;transform:scaleX(.25)}12%,28%{opacity:1;transform:scaleX(1)}38%,to{opacity:1;transform:scaleX(.65)}}@media (prefers-reduced-motion:reduce){.illustration-paths .illustration-path-step{transition:none}.illustration-paths .illustration-path-step:hover,.illustration-paths .illustration-path-step:focus-visible{transform:none}}.illustration-journey>li{position:relative}.illustration-journey>li:not(:last-child):after{content:"";left:var(--ec-space-5);height:var(--bs-gutter-y);background:var(--ec-coral);width:2px;position:absolute;top:100%}@media (width<=767.98px){.illustration-path-step svg{transform:rotate(90deg)}}@media (width>=768px){.illustration-journey>li:not(:last-child):after{left:calc(100% - var(--bs-gutter-x) / 2);width:var(--bs-gutter-x);height:2px;top:50%}}.remaining-illustration{--remaining-cycle:10s}.remaining-illustration>svg{width:100%;height:100%;display:block}.remaining-page-visual{width:min(100%,29rem);margin:var(--ec-space-5) auto 0;pointer-events:none}.remaining-page-visual .service-icon-stage{aspect-ratio:1;width:100%;position:relative}.section:has(.remaining-page-visual--error){position:relative;overflow:hidden}.section:has(.remaining-page-visual--error) .row{z-index:2;position:relative}@media (width>=992px){.remaining-page-visual{opacity:.48;width:clamp(30rem,46vw,44rem);mask-image:var(--ec-hero-visual-mask);margin:0;position:absolute;top:50%;right:0;transform:translateY(-50%)}.hero:has(.remaining-page-visual) .hero-inner{z-index:2}.service-icon-composition:has(.remaining-illustration){width:clamp(30rem,46vw,44rem);right:0}}@media (prefers-reduced-motion:no-preference){.remaining-illustration--references.is-enabled .reference-stack-sheet{animation:reference-stack-fan var(--remaining-cycle) var(--ec-ease-out-expo) infinite;animation-play-state:var(--illustration-play-state)}.remaining-illustration--references .reference-stack-sheet--back{--stack-offset:-64px}.remaining-illustration--references .reference-stack-sheet--front{--stack-offset:64px}.remaining-illustration.is-enabled :is(.motion-tap,.motion-result,.motion-noise,.motion-update,.motion-check,.motion-piece,.motion-question,.motion-answer,.motion-index,.motion-definition,.motion-route,.motion-home,.motion-action,.motion-inspect){animation-duration:var(--remaining-cycle);animation-timing-function:var(--ec-ease-out-expo);animation-iteration-count:infinite;animation-play-state:var(--illustration-play-state);transform-box:fill-box;transform-origin:50%}.remaining-illustration.is-enabled .motion-tap{animation-name:remaining-tap}.remaining-illustration.is-enabled .motion-result,.remaining-illustration.is-enabled .motion-check{animation-name:remaining-result}.remaining-illustration.is-enabled .motion-noise{animation-name:remaining-noise}.remaining-illustration.is-enabled .motion-update{animation-name:remaining-update}.remaining-illustration.is-enabled .motion-piece{--piece-x:-20px;--piece-y:-18px;animation-name:remaining-assemble}.remaining-illustration.is-enabled .motion-piece--1,.remaining-illustration.is-enabled .motion-piece--4{--piece-x:20px;--piece-y:18px}.remaining-illustration.is-enabled .motion-piece--2{--piece-x:-22px;--piece-y:12px}.remaining-illustration.is-enabled .motion-question{animation-name:remaining-question}.remaining-illustration.is-enabled .motion-answer{animation-name:remaining-answer}.remaining-illustration.is-enabled .motion-index{animation-name:remaining-index}.remaining-illustration.is-enabled .motion-definition{animation-name:remaining-definition}.remaining-illustration.is-enabled .motion-route{animation-name:remaining-route}.remaining-illustration.is-enabled .motion-home{animation-name:remaining-home}.remaining-illustration.is-enabled .motion-action{animation-name:remaining-action}.remaining-illustration.is-enabled .motion-inspect{animation-name:remaining-inspect}}@keyframes reference-stack-fan{0%,10%,60%,to{transform:translate(0)}30%,42%{transform:translateX(var(--stack-offset,0px))}}@keyframes remaining-tap{0%,12%,to{transform:scale(1)}22%{transform:scale(.65)}30%,90%{transform:scale(1)}}@keyframes remaining-result{0%,28%,to{opacity:0;transform:translateY(14px)}44%,88%{opacity:1;transform:none}}@keyframes remaining-noise{0%,15%,to{opacity:1}38%,85%{opacity:.15}}@keyframes remaining-update{0%,15%,to{transform:translateY(22px)}40%,85%{transform:none}}@keyframes remaining-assemble{0%,12%,to{transform:translate(var(--piece-x), var(--piece-y))}40%,88%{transform:none}}@keyframes remaining-question{0%,to{transform:translateY(12px)}22%,88%{transform:none}}@keyframes remaining-answer{0%,22%,to{opacity:0;transform:translateY(24px)}44%,88%{opacity:1;transform:none}}@keyframes remaining-index{0%,15%,to{transform:translate(22px,10px)}40%,88%{transform:none}}@keyframes remaining-definition{0%,15%,to{transform:translate(15px,24px)}40%,88%{transform:none}}@keyframes remaining-route{0%,12%,to{clip-path:inset(0 100% 0 0)}45%,88%{clip-path:inset(0)}}@keyframes remaining-home{0%,45%,to{transform:translateY(-8px)}60%,88%{transform:none}}@keyframes remaining-action{0%,20%,to{transform:translate(28px)}44%,88%{transform:none}}@keyframes remaining-inspect{0%,12%,to{transform:translate(-72px,-54px)}40%,88%{transform:none}}
