/* Four different jobs, one physical puzzle. All content is native SVG. */
.hero-scroll .intro,.hero-scroll.copy-left .intro{transform:translateY(-50%);text-align:left}.hero-scroll .intro .actions{justify-content:flex-start}.hero-scroll .hero-platform{justify-content:flex-start}
.hero-scroll .journey{height:210svh}.hero-scroll .stage{min-height:690px}
.hero-assembly-scene{display:contents}.marketing-assembly{left:49%;right:1.5%;top:49%;pointer-events:none}.marketing-assembly .assembly-tilt{transform:translate3d(calc(var(--px)*.32),calc(var(--py)*.25),0) }.marketing-assembly .settle-frame{transform:translateY(var(--settle-y,0px))}.marketing-puzzle{display:block;width:100%;height:auto;overflow:visible;font-family:Roboto,Arial,sans-serif;text-rendering:optimizeLegibility}
.marketing-piece{transform-box:view-box;transform-origin:280px 240px;will-change:transform;opacity:1}.mp-visibility{transform:translate(var(--visibility-x,-8px),var(--visibility-y,-8px)) rotate(var(--visibility-turn,0deg)) scale(var(--visibility-scale,1))}.mp-trust{transform:translate(var(--trust-x,8px),var(--trust-y,-8px)) rotate(var(--trust-turn,0deg)) scale(var(--trust-scale,1))}.mp-actions{transform:translate(var(--actions-x,-8px),var(--actions-y,8px)) rotate(var(--actions-turn,0deg)) scale(var(--actions-scale,1))}.mp-growth{transform:translate(var(--growth-x,8px),var(--growth-y,8px)) rotate(var(--growth-turn,0deg)) scale(var(--growth-scale,1))}
.marketing-surface{fill:url(#mp-paper);stroke:#e5d9ca;stroke-width:1.2;filter:url(#mp-shadow)}.mp-trust .marketing-surface{fill:url(#mp-warm)}.mp-actions .marketing-surface{fill:#f5f3ed}.mp-growth .marketing-surface{fill:url(#mp-ink);stroke:#3f4037}
.mp-number{fill:#90684a;font-size:10px;font-weight:500;letter-spacing:1.15px}.mp-title{fill:#302b25;font-size:25px;font-weight:500;letter-spacing:-.7px}.mp-subtitle{fill:#746759;font-size:13.5px}.mp-foot{fill:#887260;font-size:12px}.mp-growth .mp-number{fill:#c2b298}.mp-growth .mp-title{fill:#fff5e7}.mp-growth .mp-subtitle{fill:#d0c4b3}
.mp-network-lines{fill:none;stroke:#e6ba94;stroke-width:1.4}.mp-channel rect{fill:#fffdfa;stroke:#e9d8c6;stroke-width:1}.mp-channel text{fill:#6d5742;font-size:12px;font-weight:500}.mp-channel path,.mp-channel circle{fill:none;stroke:#ab6a3c;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.mp-channel>rect+rect{fill:none;stroke:#ab6a3c;stroke-width:1.2}.mp-business-node{fill:#ff9c59;stroke:#ef8f50;stroke-width:.8}.mp-business-name{fill:#472d1b;font-size:12px;font-weight:600}
.mp-review-card{fill:#fffdf8;stroke:#e4d4c0;stroke-width:1}.mp-stars{fill:#aa631f;font-size:17px;letter-spacing:1px}.mp-small{fill:#8a735c;font-size:11px}.mp-review-lines{fill:none;stroke:#e4d9cb;stroke-width:3;stroke-linecap:round}.mp-response{fill:none;stroke:#baa586;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.mp-response-check{fill:#e4ebd8}.mp-check-stroke{fill:none;stroke:#5c784e;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.mp-response-text{fill:#677457;font-size:12px}.mp-proof{fill:none;stroke:#9b8467;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.mp-proof text{stroke:none;fill:#735f46;font-size:13px}.mp-proof .mp-press{font-family:var(--serif);font-size:22px;font-style:italic}.mp-proof .mp-small{font-size:10px}
.mp-metric rect{fill:#fffefa;stroke:#e1d9ca;stroke-width:1}.mp-metric g{fill:none;stroke:#a7764b;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.mp-metric text{fill:#6c5c4d;font-size:12px}.mp-chart-axis{fill:none;stroke:#dcd4c7;stroke-width:1}.mp-action-area{fill:url(#mp-chart-fill)}.mp-action-line{fill:none;stroke:#c5763a;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--metric-progress,.6))}.mp-metric-dot{fill:#c5763a;opacity:var(--solved-opacity,0)}
.mp-growth-bars{fill:#a48c68}.mp-growth-bars rect{transform-box:fill-box;transform-origin:center bottom;transform:scaleY(calc(.65 + var(--metric-progress,.6)*.35))}.mp-growth-bars rect:nth-child(2){fill:#b69b74}.mp-growth-bars rect:nth-child(3){fill:#cbac7e}.mp-growth-bars rect:nth-child(4){fill:#e3b887}.mp-growth-bars rect:last-child{fill:#ff9c59}.mp-growth-curve,.mp-growth-arrow{fill:none;stroke:#ffb57e;stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round}.mp-growth-curve{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--metric-progress,.6))}.mp-growth-arrow{opacity:var(--solved-opacity,0)}.mp-growth-foot{fill:#e3c6a5;font-size:12px}
.mp-connected-edges{pointer-events:none;opacity:var(--edge-opacity,0)}.mp-edge-track{fill:none;stroke:#f6ae76;stroke-width:1.2;stroke-opacity:.45}.mp-outline-track{stroke-opacity:.3}.mp-glow{fill:none;stroke:#ff922f;stroke-width:2.1;stroke-linecap:round;stroke-dasharray:105 895;stroke-dashoffset:105;animation:mp-joined-current 5s linear infinite;animation-play-state:paused;vector-effect:non-scaling-stroke}.mp-glow-soft{stroke-width:5;filter:url(#mp-light);opacity:.65}.mp-perimeter-light{stroke-dasharray:100 900;animation-duration:7s;animation-direction:reverse}.journey[data-puzzle-state=connected] .mp-glow{animation-play-state:running}.paused .mp-glow{animation-play-state:paused!important}@keyframes mp-joined-current{to{stroke-dashoffset:-895}}
.marketing-puzzle-caption{position:relative;text-align:center;height:38px;margin:-6px 0 0;font:400 12px/1.5 Roboto,Arial,sans-serif;letter-spacing:.1px;color:#90745a}.marketing-puzzle-caption>span{display:block;position:absolute;inset:0;transition:opacity .25s}.mp-scroll-hint{opacity:calc(1 - var(--solved-opacity,0))}.mp-scroll-hint>span{display:inline-block;margin-left:7px}.mp-solved-caption{opacity:var(--solved-opacity,0);color:#966239}
@media(min-width:1600px){.marketing-assembly{left:49%;right:max(2%,calc((100% - 1580px)/2))}}
@media(min-width:701px) and (max-width:1050px){.marketing-assembly{left:49%;right:0}.hero-scroll .intro{left:4%;width:43%}.hero-scroll .stage{min-height:750px}.intro .body{font-size:16px}}
@media(max-width:700px){.hero-scroll .journey{height:auto}.hero-scroll .stage{display:block;position:relative;height:auto;min-height:0;padding:40px 22px 35px;overflow:clip}.hero-scroll .intro,.hero-scroll.copy-left .intro{position:relative;transform:none;text-align:center;left:auto;top:auto;width:100%}.hero-scroll .intro .actions{justify-content:center}.hero-scroll .hero-platform{justify-content:center}.hero-assembly-scene{display:block;position:relative;height:calc(100svh + 320px);margin:30px -18px 0}.hero-scroll .hero-assembly-scene .marketing-assembly{position:sticky;top:17svh;left:auto;right:auto;transform:none;width:100%;max-width:560px;margin:0 auto}.marketing-assembly .assembly-tilt{transform:none}.marketing-puzzle-caption{font-size:11px;margin-top:0;height:36px}.hero-scroll .intro .body{font-size:17px}}
@media(prefers-reduced-motion:reduce){.hero-scroll .journey{height:auto}.hero-scroll .stage{position:relative}.hero-assembly-scene{height:auto!important}.marketing-assembly .assembly-tilt,.marketing-assembly .settle-frame,.marketing-piece,.mp-growth-bars rect{transform:none!important}.mp-glow{animation:none!important;display:none}.mp-connected-edges{opacity:1}.marketing-puzzle-caption>span{transition:none}.mp-action-line,.mp-growth-curve{stroke-dashoffset:0}.mp-growth-arrow{opacity:1}}

@media(prefers-reduced-motion:reduce) and (max-width:700px){.hero-scroll .hero-assembly-scene .marketing-assembly{position:relative;top:auto}}
/* Keep SVG text and linework in the 2D vector paint path instead of a pre-rasterized 3D layer. */
.marketing-assembly{perspective:none!important}.marketing-assembly .assembly-tilt{transform:translate(calc(var(--px)*.32),calc(var(--py)*.25))!important;transform-style:flat!important;will-change:auto!important}.marketing-assembly .settle-frame{transform:translateY(var(--settle-y,0px));transform-style:flat!important;will-change:auto!important}.marketing-piece{will-change:auto!important}.marketing-puzzle{transform-style:flat;text-rendering:geometricPrecision;shape-rendering:geometricPrecision}.found-puzzle-demo .mp-glow{animation-play-state:paused}.found-puzzle-demo.found-art-visible .mp-glow{animation-play-state:running}.service-paused .found-puzzle-demo .mp-glow{animation-play-state:paused!important}
