/* Six independent diagrams, drawn with the same quiet visual language. */
.solution-visual{--art-ink:#262b33;--art-muted:#52655b;--art-line:#bcc9c3;--art-panel:#ffffffd9;--art-core:#282f3a;--art-core-ink:#f5f7f5;--art-grid:#dce4df;height:420px;display:flex;flex-direction:column;padding:24px 28px 20px;position:relative;overflow:hidden;border:1px solid #dfe6e1;border-radius:14px;margin-bottom:32px;background:radial-gradient(ellipse at 72% 10%,#fff 0%,#f1f5f2 65%,#eaf0ec 100%);color:var(--art-ink)}
.solution-visual.visual-1,.solution-visual.visual-4{--art-ink:#e4eee8;--art-muted:#9ca4ae;--art-line:#535b67;--art-panel:#28303b;--art-core:#dce8e0;--art-core-ink:#212a36;--art-grid:#343e4b;background:radial-gradient(ellipse at 65% 20%,#2d3541,#20262e 80%);border-color:#333a45}
.art-heading{display:flex;gap:22px;align-items:center;position:relative;z-index:1;font-size:12px;letter-spacing:.02em;flex-shrink:0;color:var(--art-muted)}.art-heading>span:first-child{font-size:12px;font-variant-numeric:tabular-nums;opacity:.8}.art-heading>span:nth-child(2){color:var(--art-ink)}.art-heading i{width:5px;height:5px;border-radius:50%;background:var(--art-muted);margin-left:auto;box-shadow:0 0 0 4px color-mix(in srgb,var(--art-muted) 10%,transparent)}
.art-canvas{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;transition:transform .8s cubic-bezier(.2,.65,.25,1)}.art-canvas svg{width:100%;height:100%;overflow:visible;max-width:800px}.art-canvas svg path,.art-canvas svg circle,.art-canvas svg rect{vector-effect:non-scaling-stroke}.art-canvas text{font-family:var(--font-sans);fill:var(--art-ink);letter-spacing:0;font-weight:400}.art-label{font-size:16px}.art-core-label{font-size:16px;fill:var(--art-core-ink)!important}.art-mini{font-size:14px}.art-caption{font-size:13px;fill:var(--art-muted)!important}.art-result-label{font-size:14px}.art-line,.art-wire{stroke:var(--art-line);stroke-width:1;fill:none}.art-wire{stroke-width:1.25}.art-grid{stroke:var(--art-grid);stroke-width:.7}.art-marker{stroke:var(--art-line);stroke-dasharray:3 6}.art-panel{fill:var(--art-panel);stroke:var(--art-line);stroke-width:.8}.art-core{fill:var(--art-core);stroke:var(--art-ink);stroke-width:.6}.art-core .art-icon{stroke:var(--art-core-ink)}.art-icon{fill:none;stroke:var(--art-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2}.art-stage-1 .art-core~g .art-icon{stroke:var(--art-core-ink)}.art-stage-1 .art-core~g .art-dot{fill:var(--art-core-ink)}.art-dot,.art-current{fill:var(--art-ink)}.art-orbit{stroke:var(--art-line);stroke-width:.8;fill:none}.art-ring{stroke:var(--art-muted);stroke-dasharray:2 14;stroke-width:1;transform-origin:center;transform-box:fill-box;animation:art-orbit 50s linear infinite}.art-result{fill:var(--art-panel);stroke:var(--art-line);stroke-width:.8}.art-stage{opacity:.66;transition:opacity .65s,filter .65s}.art-stage.is-active{opacity:1}.art-stage.is-active .art-panel{stroke:var(--art-muted)}.art-stream{stroke:var(--art-ink);stroke-width:1.8;stroke-dasharray:7 110;stroke-linecap:round;animation:art-flow 13s linear infinite;opacity:.75}.art-feedback{stroke:var(--art-line);stroke-dasharray:3 8;stroke-width:.8}.art-funnel{fill:color-mix(in srgb,var(--art-muted) 13%,transparent);stroke:var(--art-muted);stroke-width:.8}.art-token{fill:var(--art-ink);opacity:.45}.art-token:nth-last-child(2){opacity:.7}.art-trend{stroke:var(--art-muted);stroke-width:1.3;fill:none}.art-tick{fill:var(--art-muted);opacity:.5}.art-node{fill:var(--art-panel);stroke:var(--art-muted);stroke-width:1}.art-travel-dot{fill:var(--art-ink);animation:art-glow 6s ease-in-out infinite}.art-history{stroke:var(--art-ink);stroke-width:1.5}.art-forecast{stroke:var(--art-ink);stroke-width:1.5;stroke-dasharray:4 5;animation:art-forecast 24s linear infinite}.art-band{fill:var(--art-muted);opacity:.1}.art-pulse{stroke:var(--art-muted);stroke-width:.8;fill:none;transform-origin:center;transform-box:fill-box;animation:art-breathe 7s ease-in-out infinite}
.art-controls{display:flex;align-self:center;padding:4px;gap:4px;border:1px solid var(--art-line);border-radius:100px;background:color-mix(in srgb,var(--art-panel) 60%,transparent);position:relative;z-index:1;flex-shrink:0}.art-controls button{border:0;background:transparent;color:var(--art-muted);padding:9px 17px;border-radius:100px;min-height:36px;font-size:12px;line-height:1.2;transition:background .35s,color .35s,box-shadow .35s}.art-controls button[aria-pressed=true]{background:var(--art-ink);color:var(--art-core-ink);box-shadow:0 2px 8px #00000008}.visual-1 .art-controls button[aria-pressed=true],.visual-4 .art-controls button[aria-pressed=true]{color:#242b35}.art-controls button:hover{color:var(--art-ink)}.art-controls button[aria-pressed=true]:hover{color:var(--art-core-ink)}.visual-1 .art-controls button[aria-pressed=true]:hover,.visual-4 .art-controls button[aria-pressed=true]:hover{color:#242b35}.art-controls button:focus-visible{outline-color:var(--art-ink);outline-offset:3px}
@media(hover:hover){.solution-visual:hover .art-canvas{transform:translateY(-3px)}.solution-visual:hover{border-color:var(--art-muted)}}
.solution-visual:not([data-motion-active=true]) .art-canvas *,.motion-suspended .art-canvas *{animation-play-state:paused}
@keyframes art-flow{to{stroke-dashoffset:-468}}@keyframes art-orbit{to{transform:rotate(360deg)}}@keyframes art-forecast{to{stroke-dashoffset:-90}}@keyframes art-glow{0%,100%{opacity:.4}50%{opacity:1}}@keyframes art-breathe{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.28);opacity:.1}}
/* Consent is quiet, readable, and always reversible from the footer. */
.cookie-consent{max-width:370px;padding:24px;background:#fffffff5;backdrop-filter:blur(20px);border:1px solid #e0e5e1;box-shadow:0 16px 60px #1a233014;bottom:24px;left:24px;border-radius:18px;transition:opacity .45s,transform .45s}.cookie-kicker{display:flex;align-items:center;gap:10px;color:#68736b;font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:14px}.cookie-kicker svg{width:18px;height:18px;stroke:#56645b;fill:none;stroke-width:1.1}.cookie-title{display:block;font-size:22px;font-weight:400;letter-spacing:-.045em;line-height:1.2;margin-bottom:12px;color:var(--ink)}.cookie-consent p{font-size:12px;line-height:1.55;color:#67726b}.cookie-policy{display:inline-block;margin-top:12px;font-size:12px;color:#4d535c;border-bottom:1px solid #b9c5bd;padding-bottom:3px}.cookie-consent-actions{margin-top:20px;gap:8px}.cookie-btn{flex:1;padding:12px 10px;min-height:42px;font-size:12px;border-radius:100px}.cookie-btn-ghost{background:#f5f7f4;border-color:#e1e7df;color:#526054}.cookie-btn-solid{background:#232a33;border-color:#232a33}.cookie-btn:hover{transform:translateY(-1px)}.has-cookie-notice .floating-contact{visibility:hidden;opacity:0;pointer-events:none}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}.lenis [data-lenis-prevent]{overscroll-behavior:contain}
@media(max-width:1000px){.solution-visual{height:370px;padding:22px 24px 18px}}
@media(max-width:600px){.solution-visual{height:285px;padding:18px 15px 14px;margin-bottom:24px}.art-heading{font-size:12px;gap:14px}.art-heading>span:first-child{font-size:12px}.art-controls{gap:1px;padding:3px;max-width:100%}.art-controls button{padding:10px 12px;font-size:12px;min-height:36px}.art-canvas svg{width:100%;height:auto;max-height:190px}.art-label,.art-core-label{font-size:20px}.art-mini{font-size:16px}.art-caption,.art-result-label{font-size:16px}.cookie-consent{left:12px;right:12px;bottom:12px;max-width:none;padding:20px}.cookie-title{font-size:21px}.cookie-consent p{font-size:12px}.cookie-kicker{margin-bottom:12px}.cookie-consent-actions{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.art-canvas *{animation:none!important}.art-canvas,.art-stage,.art-controls button,.cookie-consent{transition:none!important}.solution-visual:hover .art-canvas{transform:none}.art-stage{opacity:.75}.art-stage.is-active{opacity:1}html{scroll-behavior:auto!important}}

@media(max-width:600px){.visual-0 .art-stage-0>g{display:none}.visual-0 .art-stage-0>.art-label{transform:translateX(-18px)}}
