/* Motion belongs to the narrative, not to an invented dashboard. */
.scene{--motion-mint:#7ccfbd;--motion-violet:#7550e8;--motion-ink:#17191a;--motion-ivory:#f4f3ee}
.motion-svg{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.motion-trace-base{fill:none;stroke:var(--motion-mint);stroke-width:1;opacity:.15;vector-effect:non-scaling-stroke}
.motion-trace{fill:none;stroke:var(--motion-mint);stroke-width:2;stroke-linecap:round;stroke-dasharray:24 976;stroke-dashoffset:1000;filter:drop-shadow(0 0 5px #7ccfbd88);animation:motionTravel 6s linear infinite;animation-delay:var(--trace-delay,0s);vector-effect:non-scaling-stroke}
.motion-caption{position:absolute;font-size:8px!important;letter-spacing:.04em;line-height:1.5;color:currentColor;opacity:.47;pointer-events:none;white-space:nowrap}
.motion-caption:before{content:'';width:4px;height:4px;display:inline-block;border-radius:50%;background:var(--motion-mint);margin-right:6px;vertical-align:1px}
.scene:not(.motion-active) .motion-trace,.scene:not(.motion-active) .motion-destination,.scene:not(.motion-active) .motion-break-halo,.scene:not(.motion-active) .motion-break,.scene:not(.motion-active) .analysis-motion-scan,.scene:not(.motion-active) .network-origin-ring,.scene:not(.motion-active) .network-destination,.scene:not(.motion-active) .work-motion-ambient img,.scene:not(.motion-active) .has-closing-motion>[data-t],.scene:not(.motion-active) .has-motion-journey>span,.scene:not(.motion-active) .analysis-motion-2>i:not(.analysis-motion-scan){animation-play-state:paused!important}
@keyframes motionTravel{0%{stroke-dashoffset:1000;opacity:0}8%{opacity:.95}88%{opacity:.8}100%{stroke-dashoffset:0;opacity:0}}
.impact-motion-paths{z-index:1;opacity:.85}
.motion-destination{fill:none;stroke:var(--motion-violet);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:motionDestination 6s ease-out infinite}
.motion-destination.core{fill:var(--motion-violet);stroke:none;animation-delay:.3s}
@keyframes motionDestination{0%,65%,100%{transform:scale(.6);opacity:.1}74%{transform:scale(1.15);opacity:.8}90%{transform:scale(1.8);opacity:0}}
.content-sculpture>.motion-caption{left:7%;bottom:2%;z-index:8;color:var(--motion-ink)}
.has-motion-journey{isolation:isolate;overflow:visible}
.impact-journey-line{top:0;height:28px;inset-inline:0;z-index:-1}
.impact-journey-line .motion-trace-base{stroke:var(--motion-ink);opacity:.1}
.impact-journey-line .motion-trace{stroke:var(--motion-violet);stroke-width:2}
.has-motion-journey>span{animation:motionWord 4.6s ease-in-out infinite;animation-delay:var(--journey-delay,0s)}
@keyframes motionWord{0%,30%,100%{filter:none}15%{filter:drop-shadow(0 0 13px #7550e844)}}
.challenge-motion-flow{z-index:2;opacity:.9}
.challenge-motion-flow .interrupted-input.motion-trace{stroke:var(--motion-mint);animation-duration:3.8s}
.challenge-motion-flow .motion-trace-base{opacity:.18}
.motion-break{fill:none;stroke:var(--motion-violet);stroke-width:3;stroke-linecap:round;animation:motionBreak 3.8s ease-in-out infinite}
.motion-break-halo{fill:none;stroke:var(--motion-violet);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:motionBreakHalo 3.8s ease-out infinite}
.motion-blocked-route{fill:none;stroke:#f4f3ee;opacity:.1;stroke-width:1;stroke-dasharray:4 10}
.motion-empty-destination{fill:none;stroke:#f4f3ee;stroke-width:1;opacity:.15}
@keyframes motionBreak{0%,62%,100%{opacity:.25}72%,84%{opacity:1}}
@keyframes motionBreakHalo{0%,62%,100%{transform:scale(.5);opacity:0}70%{opacity:.8}95%{transform:scale(1.75);opacity:0}}
.question-sculpture>.motion-caption{bottom:6%;left:9%;z-index:3;color:var(--motion-ivory)}
.has-analysis-motion{position:relative;isolation:isolate}
.analysis-motion-scan{display:block!important;position:absolute!important;pointer-events:none;z-index:3;margin:0!important;border:0!important;border-radius:0!important;background:linear-gradient(90deg,transparent,#7ccfbd85,transparent)!important;box-shadow:0 0 18px #7ccfbd44;transform-origin:center;animation:motionScan 4.5s ease-in-out infinite}
.analysis-motion-scan:before,.analysis-motion-scan:after{display:none!important}
.analysis-motion-0>.analysis-motion-scan{width:2px!important;height:110%!important;left:0;top:-4%;background:linear-gradient(0deg,transparent,#7ccfbdcc,transparent)!important}
.analysis-motion-1>.analysis-motion-scan{width:80%!important;height:1px!important;left:10%;top:45%;animation:motionKeyword 4s ease-in-out infinite}
.analysis-motion-2>.analysis-motion-scan{width:100%!important;height:1px!important;left:0;bottom:22%;top:auto;animation:motionAudience 4.2s ease-in-out infinite}
.analysis-motion-2>i:not(.analysis-motion-scan){animation:motionAudiencePerson 4.2s ease-in-out infinite;animation-delay:calc(var(--person,0)*.4s)}
.analysis-motion-2>i:nth-child(1){--person:1}.analysis-motion-2>i:nth-child(2){--person:2}.analysis-motion-2>i:nth-child(3){--person:3}.analysis-motion-2>i:nth-child(4){--person:4}.analysis-motion-2>i:nth-child(5){--person:5}
.analysis-motion-3>.analysis-motion-scan{width:100%!important;height:2px!important;left:0;bottom:-14px;top:auto;animation:motionStrategy 4.2s ease-in-out infinite;transform-origin:left}
.analysis-stack>.motion-caption{left:0;bottom:-25px;color:var(--motion-ivory)}
@keyframes motionScan{0%,100%{transform:translateX(0);opacity:0}9%,90%{opacity:1}95%{transform:translateX(310px)}}
@keyframes motionKeyword{0%,100%{transform:scaleX(.08);opacity:0}20%{opacity:.95}70%{transform:scaleX(1);opacity:.8}90%{transform:scaleX(1.04);opacity:0}}
@keyframes motionAudience{0%,100%{transform:scaleX(0);opacity:0}25%,65%{opacity:.8}80%{transform:scaleX(1);opacity:0}}
@keyframes motionAudiencePerson{0%,100%{filter:none;translate:0 0}35%{filter:drop-shadow(0 0 12px #7ccfbd80);translate:0 -4px}}
@keyframes motionStrategy{0%,100%{transform:scaleX(0);opacity:0}15%{opacity:.9}80%{transform:scaleX(1);opacity:.7}95%{transform:scaleX(1);opacity:0}}
.has-promotion-motion{isolation:isolate}
.promotion-motion-network{z-index:6;opacity:.85;inset:-4%;width:108%;height:108%}
.promotion-motion-network .motion-trace-base{stroke:var(--motion-violet);opacity:.2}
.promotion-motion-network .motion-trace{stroke:var(--motion-violet);stroke-width:1.8;animation-duration:6.2s;filter:drop-shadow(0 0 4px #7550e866)}
.network-origin-ring{fill:none;stroke:var(--motion-mint);stroke-width:1.3;transform-box:fill-box;transform-origin:center;animation:motionBroadcast 4.2s ease-out infinite}
.network-origin-ring.second{animation-delay:2.1s}
@keyframes motionBroadcast{0%{transform:scale(.35);opacity:0}25%{opacity:.55}95%,100%{transform:scale(2.25);opacity:0}}
.network-destination{animation:motionNode 6.2s ease-in-out infinite;animation-delay:var(--node-delay,0s);transform-box:fill-box;transform-origin:center}
.network-destination>circle{fill:var(--motion-ivory);fill-opacity:.94;stroke:#7550e825;stroke-width:1.3}
@keyframes motionNode{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.has-promotion-motion>.motion-caption{left:2%;bottom:0;z-index:8;color:var(--motion-ink)}
.work-motion-ambient{pointer-events:none;position:absolute;inset:18% -5% 10%;z-index:0;overflow:hidden;opacity:.24;mask-image:radial-gradient(ellipse,#000 0%,transparent 67%)}
.work-motion-ambient img{position:absolute;width:100%;height:100%;object-fit:cover;filter:blur(45px) saturate(.8);transform:scale(1.45);animation:motionCreativeAir 18s ease-in-out infinite alternate;will-change:transform}
@keyframes motionCreativeAir{from{transform:translate3d(-3%,1%,0) scale(1.4) rotate(-3deg)}to{transform:translate3d(3%,-3%,0) scale(1.6) rotate(4deg)}}
.case-metric{position:relative;padding-bottom:14px!important}
.case-metric strong{font-variant-numeric:tabular-nums}
.case-metric .motion-reported-value{font:inherit;color:inherit;letter-spacing:inherit}
.metric-motion-track{position:absolute;left:0;right:0;bottom:0;height:3px;background:#17191a0b;overflow:hidden;border-radius:3px;display:block;pointer-events:none}
.metric-motion-track>i{position:absolute;inset:0;border-radius:3px;transform-origin:left;display:block;background:var(--motion-violet);opacity:.85;will-change:transform}
.metric-motion-track>.metric-motion-baseline{background:var(--motion-ink);opacity:.22;z-index:2}
.metric-reported-only .metric-motion-total{background:var(--motion-mint)}
.film-motion-strip{pointer-events:none;position:absolute;z-index:5;left:18px;right:18px;top:14px;display:flex;align-items:center;gap:12px;color:#f4f3ee;font-size:8px;letter-spacing:1.5px;text-shadow:0 1px 8px #0009}
.film-motion-strip>i{flex:1;height:2px;background:#f4f3ee44;overflow:hidden}
.film-motion-strip b{display:block;width:100%;height:100%;background:var(--motion-mint);transform:scaleX(0);transform-origin:left;box-shadow:0 0 6px #7ccfbd99;transition:transform .25s linear}
.film-motion-strip.film-is-playing>span:last-child{color:var(--motion-mint)}
.has-closing-motion{overflow:visible;isolation:isolate}
.closing-motion-trace{top:-1px;height:24px;z-index:-1}
.closing-motion-trace .motion-trace-base{stroke:var(--motion-ink);opacity:.09}
.closing-motion-trace .motion-trace{stroke:var(--motion-violet);animation-duration:6.3s}
.has-closing-motion>[data-t]{animation:motionClosingWord 6.3s ease-in-out infinite;animation-delay:var(--step-delay,0s)}
@keyframes motionClosingWord{0%,20%,100%{color:inherit;translate:0 0}10%{color:var(--motion-violet);translate:0 -3px}}
.has-closing-motion>.motion-caption{right:0;bottom:-19px;color:var(--motion-ink)}
@media(max-width:760px){.motion-caption{font-size:7px!important}.impact-motion-paths{opacity:.65}.content-sculpture>.motion-caption{left:0;bottom:0}.question-sculpture>.motion-caption{bottom:2%;left:16%}.analysis-stack>.motion-caption{bottom:-21px}.promotion-motion-network{inset:0;width:100%;height:100%;opacity:.8}.has-promotion-motion>.motion-caption{left:0;bottom:-18px}.work-motion-ambient{inset:28% -25% 20%;opacity:.24}.work-motion-ambient img{filter:blur(30px)}.film-motion-strip{font-size:7px;left:12px;right:12px;top:11px;gap:8px}.case-metric{padding-bottom:13px!important}.metric-motion-track{height:2px}.has-closing-motion>.motion-caption{bottom:-18px}.closing-motion-trace{height:20px}.impact-journey-line{top:-1px;height:20px}}
@media(prefers-reduced-motion:reduce){.motion-trace,.motion-destination,.motion-break-halo,.motion-break,.analysis-motion-scan,.network-origin-ring,.network-destination,.work-motion-ambient img,.has-closing-motion>[data-t],.has-motion-journey>span,.analysis-motion-2>i:not(.analysis-motion-scan){animation:none!important}.motion-trace{opacity:0}.analysis-motion-scan{display:none!important}.network-origin-ring{opacity:.12}.film-motion-strip b{transition:none}.work-motion-ambient img{transform:scale(1.4)}}

/* Larger native diagrams: each visual explains its particular presentation step. */
.scene:not(.motion-active) .motion-svg *{animation-play-state:paused!important}
.motion-svg text{font-family:inherit;font-weight:400;letter-spacing:.015em;paint-order:stroke fill;stroke:none}
.impact-motion-stream{z-index:2;opacity:.9}
.impact-motion-stream .motion-trace-base{stroke:var(--motion-violet);stroke-width:1.3;opacity:.13}
.impact-motion-stream .motion-trace{stroke:var(--motion-violet);stroke-width:2.5;stroke-dasharray:38 962;animation-duration:5.5s}
.motion-audience-point{fill:var(--motion-violet);opacity:.5;transform-box:fill-box;transform-origin:center;animation:motionAudiencePoint 5.5s ease-in-out infinite;animation-delay:var(--point-delay,0s)}
@keyframes motionAudiencePoint{0%,100%{opacity:.25;transform:scale(.85)}55%{opacity:.9;transform:scale(1.35)}}
.motion-interest-ring{fill:none;stroke:var(--motion-violet);stroke-width:1;transform-box:fill-box;transform-origin:center;animation:motionInterest 5s ease-out infinite}
.motion-interest-ring.second{animation-delay:2.5s}
@keyframes motionInterest{0%{opacity:0;transform:scale(.3)}20%{opacity:.35}100%{opacity:0;transform:scale(1.5)}}
.impact-journey-line .motion-trace{stroke-width:3;stroke-dasharray:65 935}
.journey-node{fill:var(--motion-ivory);stroke:var(--motion-violet);stroke-width:2;animation:motionJourneyNode 5.8s ease-in-out infinite;animation-delay:var(--node-delay,0s);transform-box:fill-box;transform-origin:center}
@keyframes motionJourneyNode{0%,100%{transform:scale(1);fill:var(--motion-ivory)}20%{transform:scale(1.35);fill:var(--motion-mint)}}
.question-sculpture>svg:not(.challenge-motion-chart){opacity:0}
.challenge-motion-chart{z-index:6;opacity:1;inset:3% 0 0;height:94%}
.challenge-motion-chart .motion-trace-base{stroke-width:2.5;opacity:.55}
.challenge-motion-chart .motion-trace{stroke-width:4;stroke-dasharray:75 925;animation-duration:5s}
.challenge-motion-chart .budget-chart-line{stroke:var(--motion-mint)}
.challenge-motion-chart .response-chart-line{stroke:var(--motion-violet)}
.motion-chart-axis{fill:none;stroke:#f4f3ee22;stroke-width:1}
.motion-chart-label{fill:var(--motion-ivory);font-size:26px!important}
.motion-chart-note{fill:#c4adef;font-size:19px!important}
.motion-chart-axis-label{fill:#f4f3ee66;font-size:16px!important}
.budget-chart-area{fill:#7ccfbd12;stroke:none}
.challenge-motion-chart .motion-break{stroke-width:4;animation-duration:5s}
.challenge-motion-chart .motion-break-halo{animation-duration:5s}
.challenge-motion-chart .motion-blocked-route{stroke:#f4f3ee66;opacity:.45;stroke-width:2;stroke-dasharray:4 9}
.question-sculpture>.motion-caption{left:8%;bottom:0;opacity:.6}
.analysis-card .has-analysis-motion{height:clamp(170px,24svh,230px);min-height:170px;margin-top:27px;overflow:visible;display:block;width:100%}
.analysis-card .research-mini>img,.analysis-card .keyword-art>span,.analysis-card .keyword-art>div,.analysis-card .audience-art>i,.analysis-card .audience-art>span,.analysis-card .strategy-art>i{visibility:hidden}
.analysis-card .research-mini>img{display:none}
.analysis-signal-graph,.analysis-intent-tree,.analysis-audience-network,.analysis-strategy-loop{z-index:5;opacity:1}
.analysis-diagram-label{fill:#f4f3eec9;font-size:27px!important}
.analysis-diagram-footer{fill:#7ccfbd;font-size:23px!important}
.analysis-signal-graph .motion-trace-base{stroke-width:2;opacity:.5}
.analysis-signal-graph .motion-trace{stroke-width:3.5;stroke-dasharray:60 940;animation-duration:5.4s}
.analysis-signal-graph .signal-1{stroke:#a997ed}
.analysis-signal-graph .signal-2{stroke:#f4f3ee}
.signal-scan-rule{fill:none;stroke:#f4f3ee55;stroke-width:1;transform-origin:center;animation:motionSignalScan 7s linear infinite}
@keyframes motionSignalScan{0%{translate:-300px 0;opacity:0}15%,80%{opacity:.5}100%{translate:500px 0;opacity:0}}
.analysis-intent-tree .motion-trace-base{stroke:#f4f3ee;opacity:.25;stroke-width:1.5}
.analysis-intent-tree .motion-trace{stroke-width:3.5;stroke-dasharray:45 955;animation-duration:4.7s}
.intent-search-ring{fill:#7ccfbd0a;stroke:#7ccfbd77;stroke-width:2;animation:motionIntentRing 4.7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.intent-search-mark{fill:none;stroke:var(--motion-mint);stroke-width:5;stroke-linecap:round}
.intent-tree-node{fill:var(--motion-mint);stroke:#17191a;stroke-width:4}
@keyframes motionIntentRing{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.08);opacity:1}}
.analysis-audience-network .motion-trace-base{stroke:#f4f3ee;opacity:.18;stroke-width:1.4}
.analysis-audience-network .motion-trace{stroke-width:3;stroke-dasharray:45 955;animation-duration:4.7s}
.audience-source-node{fill:#f4f3ee;fill-opacity:.55;stroke:#7ccfbd;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:motionSourceNode 4.7s ease-in-out infinite;animation-delay:var(--node-delay,0s)}
.audience-core{fill:#17191a;stroke:#7ccfbd;stroke-width:2}
.audience-core-halo{fill:#7ccfbd08;stroke:#7ccfbd44;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:motionIntentRing 4.7s ease-in-out infinite}
.audience-person{fill:none;stroke:#7ccfbd;stroke-width:4;stroke-linecap:round}
@keyframes motionSourceNode{0%,100%{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}
.analysis-card .strategy-art>span{position:absolute;top:7%;transform:translateX(-50%);padding:0!important;background:none!important;border:0!important;font-size:16px!important;white-space:nowrap;z-index:6;color:var(--motion-ivory)}
.analysis-card .strategy-art>span:nth-of-type(1){left:15%}.analysis-card .strategy-art>span:nth-of-type(2){left:50%}.analysis-card .strategy-art>span:nth-of-type(3){left:85%}
.analysis-strategy-loop .motion-trace-base{stroke:#f4f3ee;stroke-width:2;opacity:.24}
.analysis-strategy-loop .motion-trace{stroke-width:4;stroke-dasharray:90 910;animation-duration:6s}
.analysis-strategy-loop .strategy-return.motion-trace{stroke:var(--motion-violet)}
.strategy-node{fill:var(--motion-ivory);stroke:#17191a;stroke-width:5;transform-box:fill-box;transform-origin:center;animation:motionStrategyNode 6s ease-in-out infinite;animation-delay:var(--node-delay,0s)}
@keyframes motionStrategyNode{0%,100%{fill:var(--motion-ivory);transform:scale(.9)}25%{fill:var(--motion-mint);transform:scale(1.25)}}
.promotion-motion-network{inset:0;width:100%;height:100%;opacity:.95}
.promotion-motion-network .motion-trace-base{opacity:.28;stroke-width:1.4}
.promotion-motion-network .motion-trace{stroke-width:3;stroke-dasharray:46 954}
.has-promotion-motion>.motion-caption{left:54%;bottom:9%;opacity:.57}
.work-caption>div:first-child{position:relative}
.work-motion-progress{pointer-events:none;position:absolute;left:0;bottom:-16px;height:3px;width:min(320px,100%);background:#f4f3ee20;display:block;overflow:hidden}
.work-motion-progress>i,.work-motion-progress>b{display:block;position:absolute;inset:0;background:var(--motion-violet);transform-origin:left;transition:transform .65s cubic-bezier(.2,.7,.3,1);transform:scaleX(var(--work-complete,.08333))}
.work-motion-progress>b{background:var(--motion-mint);transform:translateX(calc(var(--work-active,0)*100%)) scaleX(var(--work-unit,.08333));box-shadow:0 0 12px #7ccfbd80}
.closing-motion-trace{height:24px;top:-3px;overflow:visible}
.closing-motion-trace .motion-trace-base{stroke-width:2;opacity:.16}
.closing-motion-trace .motion-trace{stroke-width:3;stroke-dasharray:65 935}
.closing-step-node{fill:var(--motion-ivory);stroke:var(--motion-violet);stroke-width:2;animation:motionJourneyNode 6.3s ease-in-out infinite;animation-delay:var(--node-delay,0s);transform-box:fill-box;transform-origin:center}
@media(max-width:760px){.challenge-motion-chart{inset:0;height:100%}.motion-chart-label{font-size:29px!important}.motion-chart-note{font-size:21px!important}.motion-chart-axis-label{font-size:19px!important}.question-sculpture>.motion-caption{left:8%;bottom:0}.analysis-card .has-analysis-motion{height:160px;min-height:160px;margin-top:21px}.analysis-diagram-label{font-size:29px!important}.analysis-diagram-footer{font-size:25px!important}.analysis-card .strategy-art>span{font-size:12px!important}.has-promotion-motion>.motion-caption{left:54%;bottom:3%;font-size:6px!important}.work-motion-progress{width:100%;height:2px;bottom:-13px}.impact-motion-stream{opacity:.8}.motion-chart-note{font-size:22px!important}}
@media(prefers-reduced-motion:reduce){.motion-svg *{animation:none!important}.motion-audience-point,.intent-search-ring,.audience-source-node,.strategy-node,.journey-node,.closing-step-node{opacity:.65}.motion-interest-ring{opacity:.1}.work-motion-progress>i,.work-motion-progress>b{transition:none}}
