/* A client request travels through the delivery team and carries the agency's name. */
.motion-scene{margin:0;background:var(--wash);border:1px solid var(--line);border-radius:6px;padding:18px 14px 12px;min-width:0;color:var(--accent)}
.delivery-scene{width:100%;height:auto;aspect-ratio:540/430;overflow:visible;font-family:var(--body)}
.scene-guides{color:#b4c1b1}.scene-route{stroke-width:1.7}.scene-signal{stroke-dasharray:8 92;stroke-dashoffset:100}
.scene-paper{fill:var(--paper);stroke:var(--line);stroke-width:1.2}.scene-fold{fill:#edf1e7;stroke:var(--line);stroke-width:1.2}
.scene-label{fill:var(--muted);font-size:11px;font-weight:600;letter-spacing:1px}
.scene-title{fill:var(--ink);font-size:20px;font-weight:500;letter-spacing:-.35px}.scene-proposal-title{font-size:24px;font-weight:650}
.scene-rule{fill:none;stroke:#d8ded3;stroke-width:3;stroke-linecap:round}.scene-seal{fill:var(--wash)}.scene-check{fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.scene-hub-ring{fill:none;stroke:#8aa58b;stroke-width:1;stroke-dasharray:9 7;transform-box:fill-box;transform-origin:center}.scene-hub-core{fill:var(--accent)}
.scene-brand-outline{fill:none;stroke:var(--paper);stroke-width:2}.scene-brand-solid{fill:var(--paper)}.scene-hub-name{fill:var(--accent);font-size:14px;font-weight:700}
.scene-node{fill:var(--bg);stroke:#b4c1b1;stroke-width:1.2}.scene-node-icon{color:var(--accent)}.scene-node-label{fill:var(--muted);font-size:14px;font-weight:500}
.scene-agency{fill:var(--ink);font-size:15px;font-weight:700}.scene-brand-tag{fill:var(--lime)}.scene-tag-label{fill:var(--accent-dark);font-size:9px;letter-spacing:.6px;font-weight:650}
.scene-delivery-note{fill:var(--muted);font-size:13px}.scene-delivery-check{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.scene-request,.scene-delivery{transform-box:fill-box;transform-origin:center}
.motion-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 10px 0;color:var(--muted);font-size:11px;line-height:1.5}
.motion-scene{--scene-cycle:6.8s}
.motion-enabled .signal-in{animation:courier-in var(--scene-cycle) linear infinite}.motion-enabled .signal-out{animation:courier-out var(--scene-cycle) linear infinite}
.motion-enabled .signal-scope,.motion-enabled .signal-build,.motion-enabled .signal-support{animation:team-signal var(--scene-cycle) linear infinite}
.signal-build{animation-delay:.8s!important}.signal-support{animation-delay:1.6s!important}
.motion-enabled .scene-request{animation:request-float var(--scene-cycle) var(--ease) infinite}.motion-enabled .scene-delivery{animation:delivery-settle var(--scene-cycle) var(--ease) infinite}
.motion-enabled .scene-hub-ring{animation:hub-turn 14s linear infinite}.motion-enabled .scene-hub-core{animation:hub-receive var(--scene-cycle) var(--ease) infinite;transform-box:fill-box;transform-origin:center}
.motion-enabled .scene-delivery-check{animation:delivery-sign var(--scene-cycle) var(--ease) infinite}
.motion-enabled .satellite-scope .scene-node{animation:scope-ready var(--scene-cycle) var(--ease) infinite}.motion-enabled .satellite-build .scene-node{animation:build-ready var(--scene-cycle) var(--ease) infinite}.motion-enabled .satellite-support .scene-node{animation:support-ready var(--scene-cycle) var(--ease) infinite}
.motion-enabled .motion-scene .scene-loop{animation-play-state:paused}.motion-enabled .motion-scene.is-in-view .scene-loop{animation-play-state:running}
.motion-hidden .scene-loop,.motion-hidden .art-loop{animation-play-state:paused!important}
@keyframes courier-in{0%,4%{stroke-dashoffset:100;opacity:0}8%{opacity:1}24%{stroke-dashoffset:-100;opacity:1}28%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes courier-out{0%,54%{stroke-dashoffset:100;opacity:0}58%{opacity:1}84%{stroke-dashoffset:-100;opacity:1}88%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes team-signal{0%,21%{stroke-dashoffset:100;opacity:0}24%{opacity:1}38%{stroke-dashoffset:-100;opacity:1}42%,100%{stroke-dashoffset:-100;opacity:0}}
@keyframes request-float{0%,100%{transform:translateY(0) rotate(-.6deg)}28%{transform:translateY(-7px) rotate(.7deg)}65%{transform:translateY(2px) rotate(-.5deg)}}
@keyframes delivery-settle{0%,75%,100%{transform:translateY(0)}87%{transform:translateY(-8px)}95%{transform:translateY(0)}}
@keyframes hub-turn{to{transform:rotate(360deg)}}
@keyframes hub-receive{0%,16%,42%,100%{transform:scale(1)}25%{transform:scale(1.09)}}
@keyframes scope-ready{0%,22%,52%,100%{fill:var(--bg)}34%,43%{fill:var(--lime)}}
@keyframes build-ready{0%,34%,64%,100%{fill:var(--bg)}46%,55%{fill:var(--lime)}}
@keyframes support-ready{0%,46%,76%,100%{fill:var(--bg)}58%,67%{fill:var(--lime)}}
@keyframes delivery-sign{0%,76%{stroke-dasharray:100;stroke-dashoffset:100;opacity:.25}89%,96%{stroke-dasharray:100;stroke-dashoffset:0;opacity:1}100%{stroke-dasharray:100;stroke-dashoffset:0;opacity:.25}}
.capability{position:relative}.capability-art{width:66px;height:66px;color:var(--accent);position:absolute;right:25px;top:20px;pointer-events:none}
.capability .index{margin-bottom:44px}.capability-art svg,.service-art svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.art-paper{fill:var(--paper);stroke:#9db29d}.art-wash{fill:var(--wash);stroke:#9db29d}.art-accent{fill:var(--accent);stroke:var(--accent)}.art-lime{fill:var(--lime);stroke:#9db29d}
.motion-enabled .is-entered .art-draw{animation:ink-arrive 650ms var(--ease) both;stroke-dasharray:100;stroke-dashoffset:0}
@keyframes ink-arrive{from{stroke-dashoffset:100;opacity:.45}to{stroke-dashoffset:0;opacity:1}}
.art-wave,.art-pencil,.art-aim{transform-box:fill-box;transform-origin:center}
.motion-enabled .art-wave{animation:voice-speak 1.8s var(--ease) infinite}
.motion-enabled .art-transfer{animation:system-transfer 3s linear infinite;stroke-width:2.5;stroke-dasharray:12 88}
.motion-enabled .art-code{animation:code-reveal 3.8s var(--ease) infinite}
.motion-enabled .art-pencil{animation:write-note 3s var(--ease) infinite}
.motion-enabled .art-aim{animation:aim-result 3s var(--ease) infinite}
.motion-enabled .art-loop{animation-play-state:paused}.motion-enabled .is-in-view .art-loop{animation-play-state:running}
@keyframes voice-speak{0%,100%{transform:scaleY(.7)}30%{transform:scaleY(1.15)}65%{transform:scaleY(.9)}}
@keyframes system-transfer{0%{stroke-dashoffset:100;opacity:0}15%,80%{opacity:1}100%{stroke-dashoffset:-100;opacity:0}}
@keyframes code-reveal{0%,12%{clip-path:inset(0 100% 0 0)}55%,90%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 100% 0 0)}}
@keyframes write-note{0%,20%,100%{transform:translate(0,0)}40%{transform:translate(3px,-3px)}65%{transform:translate(-2px,2px)}}
@keyframes aim-result{0%,100%{transform:translate(3px,-3px);opacity:.6}40%,70%{transform:translate(0,0);opacity:1}}
.service-art{width:54px;height:54px;margin-bottom:22px;color:var(--accent)}
.process-grid{position:relative}.process-grid:before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left}
.motion-enabled .process-grid.is-entered:before{animation:process-connect 750ms var(--ease) both}
.motion-enabled .process-grid.is-entered .process-item{animation:step-arrive 500ms var(--ease) both}.process-item:nth-child(2){animation-delay:80ms!important}.process-item:nth-child(3){animation-delay:160ms!important}.process-item:nth-child(4){animation-delay:240ms!important}
@keyframes process-connect{to{transform:scaleX(1)}}@keyframes step-arrive{from{opacity:.5;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}
.motion-enabled .process-grid.is-entered .process-item .index{animation:stage-ready 800ms var(--ease) both;animation-delay:inherit}
@keyframes stage-ready{from{color:var(--muted)}45%,to{color:var(--accent)}}
.motion-enabled .showcase-card.is-entered .flow-mini>div{animation:route-arrive 500ms var(--ease) both}.motion-enabled .showcase-card.is-entered .flow-mini>div:nth-child(2){animation-delay:180ms}.motion-enabled .showcase-card.is-entered .flow-mini>div:nth-child(3){animation-delay:360ms}
.motion-enabled .showcase-card.is-entered .chat-mini>p:nth-child(2){animation:answer-reveal 800ms var(--ease) both}.motion-enabled .showcase-card.is-entered .chat-mini>p:last-child{animation:source-arrive 350ms var(--ease) 550ms both}
.motion-enabled .showcase-card.is-entered .proposal-mini .rule{animation:proposal-write 700ms var(--ease) both;transform-origin:left}.motion-enabled .showcase-card.is-entered .proposal-mini .rule:nth-of-type(2){animation-delay:120ms}.motion-enabled .showcase-card.is-entered .proposal-mini .rule:nth-of-type(3){animation-delay:240ms}
@keyframes route-arrive{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes answer-reveal{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes source-arrive{from{opacity:.35}to{opacity:1}}
@keyframes proposal-write{from{transform:scaleX(.12)}to{transform:scaleX(1)}}
.motion-enabled .motion-feedback{animation:result-arrive 300ms var(--ease) both}.motion-feedback:nth-child(2){animation-delay:70ms}.motion-feedback:nth-child(3){animation-delay:140ms}.motion-feedback:nth-child(4){animation-delay:210ms}
@keyframes result-arrive{from{opacity:.45;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.text-link>.arrow,.button>.arrow,.request-option>.arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform 180ms var(--ease);flex-shrink:0}
@media(hover:hover){.text-link:hover>.arrow,.button:hover>.arrow,.request-option:hover>.arrow{transform:translate(2px,-2px)}.question-button:hover{border-color:var(--accent)}}
.button:active{transform:translateY(1px)}.question-button{transition:background 160ms var(--ease),border-color 160ms var(--ease)}
.brief-form .button:disabled:after{content:'';width:15px;height:15px;border:2px solid #ffffff60;border-top-color:white;border-radius:50%;animation:submit-turn 800ms linear infinite}
@keyframes submit-turn{to{transform:rotate(360deg)}}
.calc-amount,.calc-stats strong{font-variant-numeric:tabular-nums}
@media(max-width:880px){.motion-scene{padding:12px 8px 10px}.motion-caption{font-size:10px}.service-art{width:40px;height:40px}}
@media(max-width:640px){.motion-scene{padding:12px 10px 10px}.motion-caption{padding:0 5px}.capability-art{top:19px;right:23px;width:60px;height:60px}.capability .index{margin-bottom:43px}.service-art{width:29px;height:38px;margin-bottom:10px}.process-grid:before{display:none}.text-link{min-height:44px}.footer-col a{min-height:44px;display:flex;align-items:center;margin-top:0}.footer-meta a{min-width:44px;min-height:44px;display:flex;align-items:center}.faq-list summary{min-height:44px;align-items:center}}
@media(prefers-reduced-motion:reduce){.scene-loop,.art-loop,.motion-feedback,.art-draw{animation:none!important}.scene-request,.scene-delivery,.scene-hub-ring,.scene-hub-core{transform:none!important}.scene-signal{stroke-dasharray:none;stroke-dashoffset:0;opacity:.5}.art-transfer{display:none}.process-grid:before{display:none}}
