/* Shared Onos motion: decorations only; content never depends on animation. */
.motion-illustration{display:block;width:84px;height:84px;max-width:100%;overflow:visible;color:#8e2d4a;--ac:#b33358;--ink:#fffdf8;flex-shrink:0}
.motion-illustration:not(.is-moving) *{animation-play-state:paused!important}
.motion-mini .motion-illustration{width:38px;height:38px}.motion-mini{display:block;flex-shrink:0}
.motion-workbench{display:flex;align-items:center;justify-content:space-around;padding:14px 18px;border-top:1px solid #dfd0c3;background:#faf3e8}.motion-workbench .motion-illustration{width:56px;height:56px}
.process-grid>li>.motion-illustration{margin:16px 0 18px}.step-art>.motion-illustration{width:76px;height:76px}
.story-button:has(.motion-illustration){grid-template-columns:24px 64px 1fr 20px;align-items:center;gap:14px}.story-button>.motion-illustration{width:64px;height:64px}.story-step:not(.active) .motion-illustration{opacity:.6}.story-step:not(.active) .motion-illustration *{animation-play-state:paused!important}
.route-strip>a>.motion-illustration{grid-column:2;grid-row:1/3;width:46px;height:46px;align-self:center}.route-strip>a>span[aria-hidden]{display:none}.route-strip>a>small{grid-column:1}
[data-motion-card]{position:relative;isolation:isolate}.motion-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;fill:none;stroke:#a42e50;stroke-width:1.8;overflow:visible}
.motion-ring rect{x:1px;y:1px;width:calc(100% - 2px);height:calc(100% - 2px);rx:12px;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .75s cubic-bezier(.2,.7,.2,1)}
[data-motion-card]:hover>.motion-ring rect,[data-motion-card]:focus-visible>.motion-ring rect,[data-motion-card]:focus-within>.motion-ring rect{stroke-dashoffset:0}
.motion-ready .reveal{transition-duration:.7s,.7s;transition-delay:var(--motion-delay,0ms)}
.motion-ready:not(.motion-paused) .hero-copy>*{animation:onos-enter .85s cubic-bezier(.16,1,.3,1) both}.motion-ready .hero-copy>*:nth-child(2){animation-delay:.1s}.motion-ready .hero-copy>*:nth-child(3){animation-delay:.18s}.motion-ready .hero-copy>*:nth-child(4){animation-delay:.26s}
.motion-ready:not(.motion-paused) .hero-photo>img,.motion-ready:not(.motion-paused) .hero-art>img{animation:onos-photo 1.35s cubic-bezier(.16,1,.3,1) both}
.motion-ready :is(.btn,.button,.header-cta){transition:transform .25s,box-shadow .25s,background .25s}.motion-ready :is(.btn,.button,.header-cta):hover{translate:0 -2px;box-shadow:0 9px 22px #52271e24}.motion-ready :is(.btn,.button,.header-cta):active{translate:0 0;scale:.98}
.motion-ready :is(.service-photo,.product-image img,.portrait img){transition:scale .65s cubic-bezier(.2,.7,.2,1)}.motion-ready [data-motion-card]:hover :is(.service-photo,.product-image img){scale:1.025}
.motion-ready .gallery-item img,.motion-ready .photo-button img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.motion-toggle{position:fixed;right:18px;bottom:18px;z-index:50;width:44px;height:44px;display:grid;place-items:center;padding:10px;border:1px solid #bda594;border-radius:50%;color:#653525;background:#fffaf2;box-shadow:0 3px 18px #44241d20;cursor:pointer}
.motion-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;pointer-events:none}.motion-toggle .motion-play{display:none}.motion-toggle[aria-pressed=true] .motion-play{display:block}.motion-toggle[aria-pressed=true] .motion-pause{display:none}.motion-toggle:focus-visible{outline:3px solid #a42e50;outline-offset:4px}.motion-toggle:disabled{cursor:default}
.motion-paused .motion-illustration *{animation-play-state:paused!important}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition-duration:0s!important;scroll-behavior:auto!important}
.motion-paused .hero-copy>*,.motion-paused .hero-photo>img,.motion-paused .hero-art>img{animation:none!important;opacity:1!important;transform:none!important}.motion-paused .reveal{opacity:1!important;transform:none!important}
.motion-page-hidden *,.motion-page-hidden *:before,.motion-page-hidden *:after{animation-play-state:paused!important}
@keyframes onos-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes onos-photo{from{opacity:.5;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.motion-ready:not(.motion-paused) [data-motion-card]:hover{transform:perspective(1000px) translateY(-5px) rotateX(var(--motion-x,0deg)) rotateY(var(--motion-y,0deg));transition:transform .22s ease-out,box-shadow .25s;box-shadow:0 16px 32px #40251d12}}
@media(max-width:640px){.motion-illustration{width:64px;height:64px}.step-art>.motion-illustration{width:60px;height:60px}.motion-workbench{padding:9px 14px}.motion-workbench .motion-illustration{width:44px;height:44px}.story-button:has(.motion-illustration){grid-template-columns:18px 46px 1fr 16px;gap:9px}.story-button>.motion-illustration{width:46px;height:46px}.process-grid>li>.motion-illustration{margin:0 0 16px}.motion-toggle{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:42px;height:42px}.motion-ring rect{stroke-width:2}[data-motion-card]:active{scale:.992}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-illustration *{stroke-dashoffset:0!important}.hero-copy>*,.hero-photo>img,.hero-art>img,.reveal{opacity:1!important;transform:none!important}[data-motion-card]{transform:none!important;scale:1!important}.motion-ready :is(.btn,.button,.header-cta){translate:none!important;scale:1!important}}
