/* Motion enhances the visible document. No stylesheet hides content awaiting JS. */
.work-playback { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; padding:0 24px 20px; }
.motion-play { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border:1px solid #bac2b3; border-radius:24px; background:#fff; color:var(--steen); font:inherit; font-size:11px; font-weight:600; padding:9px 15px; cursor:pointer; }
.motion-play:hover { background:var(--surface); border-color:var(--steen); }
.motion-play__symbol { width:13px; font-size:10px; line-height:1; }
.motion-status { font-size:10px; color:var(--muted); line-height:1.6; margin:0; }
.motion-track { display:block; flex-basis:100%; height:3px; overflow:hidden; background:#e3e6dd; border-radius:3px; }
.motion-track > span { display:block; height:100%; width:100%; background:var(--terra-d); transform:scaleX(0); transform-origin:left; border-radius:inherit; }
.work-column { position:relative; }
.work-column.is-current .work-card { border-color:var(--terra-d); box-shadow:0 0 0 2px #994c3120; }
.work-column.is-complete .work-column__title i { width:7px; height:7px; background:#4c6541; }
.work-column.is-current .work-column__title { color:var(--terra-d); font-weight:600; }
.work-column.is-complete .work-column__title::after { content:"✓"; margin-left:auto; color:#466238; font-size:11px; }
.system-map { position:relative; isolation:isolate; }
.system-map__hub,.system-map__nodes,.system-map__controls,.system-map > p { position:relative; z-index:1; }
.system-map.has-connections .system-map__nodes { border-top-color:transparent; }
.system-map.has-connections .system-map__hub::after { display:none; }
.system-map__wires { position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:0; overflow:visible; }
.system-wire { fill:none; stroke:#626e5e; stroke-width:1; }
.system-wire--signal { stroke:#efb89e; stroke-width:2; stroke-linecap:round; }
.system-map__nodes a.is-linked { border-color:#efb89e; background:#3c4438; box-shadow:0 0 0 2px #efb89e13; }
.system-map__controls { display:flex; flex-direction:column; gap:10px; align-items:center; margin-top:22px; }
.system-map__controls .motion-status { color:#d4d8d3; min-height:16px; text-align:center; }
.motion-play--light { color:#fff; border-color:#919d88; background:#30352f; }
.motion-play--light:hover { background:#444d3f; border-color:#efb89e; }
.motion-play--light:focus-visible { outline-color:#efb89e; box-shadow:0 0 0 6px var(--steen); }
.system-map__nodes a.is-hovered { border-color:#efb89e; }
.system-wire.is-hovered { stroke:#efb89e; stroke-width:2; }

@media(prefers-reduced-motion:no-preference) {
 .btn,.motion-play { transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s cubic-bezier(.2,.7,.3,1); }
 .btn svg,.link-arrow svg,.home-service svg { transition:transform .25s cubic-bezier(.2,.7,.3,1); }
 .btn:hover svg,.link-arrow:hover svg,.home-service:hover svg { transform:translateX(4px); }
 .btn:active,.motion-play:active { transform:scale(.97); }
 .d-service,.d-start-card,.idx__row,.related a { transition:box-shadow .3s,border-color .3s,transform .3s cubic-bezier(.2,.7,.3,1); }
 .d-service:focus-within,.d-service:hover { border-color:#cab8a8; box-shadow:0 14px 30px #30251a0c; }
 .d-start-card:hover,.idx__row:hover,.related a:hover { box-shadow:0 10px 25px #30251a0a; transform:translateY(-3px); }
 .work-card,.work-column__title,.system-map__nodes a { transition:background .3s,border-color .3s,box-shadow .3s,color .3s; }
 .mini-bars i,.mk__chart span { transform-origin:bottom; }
 .faq__plus { transition:transform .25s; }
 .faq__item[open] .faq__plus { transform:rotate(45deg); }
 .d-disclosure-icon { transition:transform .25s; }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .d-service { transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px)); }
 .d-service:hover { --lift:-4px; }
}
@media(max-width:640px) {
 .work-playback { padding:0 14px 18px; gap:9px 12px; }
 .work-playback .motion-status { flex-basis:100%; }
 .motion-play { font-size:11px; min-height:44px; }
 .work-column.is-complete .work-column__title::after { margin-left:0; }
 .system-map__controls { margin-top:18px; }
}
@media(prefers-reduced-motion:reduce) {
 .d-service,.d-start-card,.idx__row,.related a,.btn:active,.motion-play:active { transform:none!important; }
 *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; }
 /* Explicit playback may opt only the new illustrative motion into animation; an explicit motion choice overrides the OS setting. */
 html:not([data-explicit-motion="aan"]) *:not([data-ambient-motion][data-user-motion="true"], [data-ambient-motion][data-user-motion="true"] *),
 html:not([data-explicit-motion="aan"]) *:not([data-ambient-motion][data-user-motion="true"], [data-ambient-motion][data-user-motion="true"] *)::before,
 html:not([data-explicit-motion="aan"]) *:not([data-ambient-motion][data-user-motion="true"], [data-ambient-motion][data-user-motion="true"] *)::after{ animation:none!important; }
}
