/* Homepage-only craft pass. The Connectivity animation remains unchanged. */
.home-voter-intelligence .voter-intelligence-animation { max-width:none; }
.voter-intelligence-animation .gateway-scene { --gateway-frame:.21cqw; --gateway-shadow:.48cqw; aspect-ratio:800 / 396; }
.voter-intelligence-animation .gateway-chat-shell,.voter-intelligence-animation .gateway-wick-panel { top:2.5cqw; width:42%; }
.voter-intelligence-animation .gateway-chat-shell { left:.5%; }
.voter-intelligence-animation .gateway-wick-panel { left:57.5%; }
.voter-intelligence-animation .gateway-chat,.voter-intelligence-animation .gateway-wick-panel { height:45.5cqw; display:flex; flex-direction:column; overflow:hidden; border:var(--gateway-frame) solid #0B0D10; border-radius:1.15cqw; box-shadow:var(--gateway-shadow) var(--gateway-shadow) 0 #0B0D10; }
.voter-intelligence-animation .gateway-chat-header,.voter-intelligence-animation .gateway-platform-header { height:5.5cqw; min-height:5.5cqw; flex:0 0 5.5cqw; padding:.95cqw 1.65cqw; border-bottom:var(--gateway-frame) solid #0B0D10; }
.voter-intelligence-animation .gateway-chat-header { background:#DCE6F2; }
.voter-intelligence-animation .gateway-platform-header { gap:1.5cqw; }
.voter-intelligence-animation .voter-hero-wordmark { display:block; flex:none; width:5.8cqw; height:auto; }
.voter-intelligence-animation .gateway-browser-address { flex-basis:11.5cqw; height:1.45cqw; }
.voter-intelligence-animation .gateway-provider { width:3.3cqw; height:3.3cqw; opacity:.55; }
.voter-intelligence-animation .gateway-provider.is-active { opacity:1; }
.voter-intelligence-animation .gateway-chat-body { flex:1; min-height:0; padding:1.8cqw 1.65cqw 1.3cqw; font-size:2cqw; line-height:1.45; }
.voter-intelligence-animation .gateway-chat-question { margin-left:1.6cqw; min-height:7.2cqw; padding:1.25cqw 1.3cqw; border-radius:1cqw 1cqw 0 1cqw; font-size:1.92cqw; }
.voter-intelligence-animation .gateway-chat-response { min-height:17cqw; padding-top:1.8cqw; gap:1.4cqw; grid-template-rows:minmax(4.7cqw,auto) auto; }
.voter-intelligence-animation .gateway-chat-evidence { padding:1.25cqw 1cqw; border-color:#B7C9CF; background:#F5FAF8; transition:opacity 200ms ease,transform 200ms ease; }
.voter-intelligence-animation .gateway-chat-evidence strong { font-size:1.8cqw; line-height:1.35; font-weight:600; }
.voter-intelligence-animation .gateway-chat-evidence small { font-size:1.32cqw; line-height:1.3; }
.voter-intelligence-animation .gateway-file-icon { width:2.8cqw; height:3.4cqw; }
.voter-intelligence-animation .gateway-chat-composer { flex:none; min-height:4.8cqw; margin:0 1.65cqw 1.5cqw; padding:.65cqw .9cqw; font-size:1.55cqw; }
.voter-intelligence-animation .gateway-chat-send { width:3.05cqw; height:3.05cqw; font-size:2.4cqw; }
.voter-intelligence-animation .gateway-asset-grid { flex:1; min-height:0; grid-auto-rows:minmax(0,1fr); gap:1.8cqw 2.4cqw; padding:1.8cqw 2.4cqw; }
.voter-intelligence-animation .gateway-asset-target { height:100%; min-height:0; grid-template-rows:8.4cqw minmax(0,1fr); gap:0; padding:.4cqw .3cqw .3cqw; border:var(--gateway-frame) solid #0B0D10; border-radius:.6cqw; background:#FFFDF8; box-shadow:none; transition:background-color 220ms ease,border-color 220ms ease; }
.voter-intelligence-animation .gateway-asset-target svg { width:8.4cqw; height:8.4cqw; }
.voter-intelligence-animation .gateway-asset-target > span { display:flex; flex-direction:column; justify-content:center; width:100%; height:100%; font-size:1.9cqw; line-height:1.1; font-weight:700; letter-spacing:-.02em; }
.voter-intelligence-animation .gateway-asset-icon.is-hit .gateway-asset-target { background:#DCE6F2; }
.voter-intelligence-animation .gateway-toolstrip { height:6.8cqw; flex:0 0 6.8cqw; gap:1.1cqw; padding:.7cqw 1.65cqw; border-top:var(--gateway-frame) solid #0B0D10; }
.voter-intelligence-animation .gateway-tool { width:4cqw; height:4cqw; }
.voter-intelligence-animation .gateway-tool svg { width:3.5cqw; height:3.5cqw; }
.voter-intelligence-animation .gateway-tool-status { font-size:1.85cqw; font-weight:700; }
.voter-intelligence-animation .gateway-mcp-gate { left:50%; top:21.6cqw; width:8.6cqw; padding:1.1cqw .95cqw 1.3cqw; gap:1.3cqw; border-width:var(--gateway-frame); border-radius:1.9cqw; box-shadow:.4cqw .48cqw 0 #0B0D10; }
.voter-intelligence-animation .gateway-mcp-mark { width:4.9cqw; height:4.9cqw; }
.voter-intelligence-animation .gateway-mcp-port { width:4.9cqw; height:4.9cqw; border-width:.24cqw; }
.voter-intelligence-animation .gateway-mcp-gate::before,.voter-intelligence-animation .gateway-mcp-gate::after { top:calc(100% - 5.36cqw); }
.voter-intelligence-animation .gateway-ball { width:3.5cqw; height:3.5cqw; border-width:.23cqw; box-shadow:.15cqw .15cqw 0 #0B0D10; font-size:2.4cqw; }
.voter-intelligence-animation .gateway-motion-caption { align-items:center; gap:16px; margin:0; padding:0 .5cqw; }
.voter-intelligence-animation .voter-animation-note { margin-right:auto; color:#5E6470; font-size:10px; }
.voter-intelligence-animation .gateway-motion-toggle { display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:5px 0; font-family:inherit; font-size:11px; }
.voter-intelligence-animation .gateway-motion-toggle svg { display:block; width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.voter-intelligence-animation .gateway-chat-answer { transition:opacity 200ms ease; }
@media (prefers-reduced-motion:reduce) { .voter-intelligence-animation *,.voter-intelligence-animation *::before,.voter-intelligence-animation *::after { animation:none !important; transition:none !important; } }

/* Match the working demo: impacts color the source glyphs and cycle all tool glyphs. */
.voter-intelligence-animation .gateway-tool.is-hit { background:#DCE6F2; border-color:#0B0D10; }

/* Reuse the surveys-and-polling artwork from Data Collection, with the same ping states. */
.voter-intelligence-animation .voter-polling-icon image { filter:grayscale(1); }
.voter-intelligence-animation .gateway-asset-icon.is-used .voter-polling-icon image { filter:saturate(.35); }
.voter-intelligence-animation .gateway-asset-icon:is(.is-active,.is-hit) .voter-polling-icon image { filter:none; }

/* Three sources and one compact tool bank; no bottom strip. */
.voter-intelligence-animation .gateway-asset-grid { padding:1.8cqw 2.4cqw 2.2cqw; gap:1.8cqw 2.4cqw; }
.voter-intelligence-animation .gateway-asset-target { grid-template-rows:10.6cqw minmax(0,1fr); padding:.3cqw; }
.voter-intelligence-animation .gateway-asset-target > span { font-size:1.8cqw; line-height:1.12; }
.voter-intelligence-animation .voter-asset-art { display:block; width:11cqw; height:11cqw; object-fit:contain; }
.voter-intelligence-animation .gateway-asset-icon.is-hit .gateway-asset-target { background:#FFFDF8; }
.voter-intelligence-animation .gateway-tools-tile { display:grid; grid-template-rows:10.6cqw minmax(0,1fr); align-items:center; justify-items:center; min-width:0; padding:.3cqw; border:var(--gateway-frame) solid #0B0D10; border-radius:.6cqw; background:#FFFDF8; }
.voter-intelligence-animation .gateway-tools-tile > span { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; color:#0B0D10; font-size:1.8cqw; line-height:1.12; text-align:center; font-weight:700; letter-spacing:-.02em; }
.voter-intelligence-animation .gateway-tools-tile .gateway-tools { gap:.8cqw; }
.voter-intelligence-animation .gateway-tools-tile .gateway-tool { width:4.4cqw; height:4.4cqw; border:0; background:transparent; }
.voter-intelligence-animation .gateway-tools-tile .gateway-tool svg { width:4.4cqw; height:4.4cqw; }
.voter-intelligence-animation .gateway-tools-tile .gateway-tool:is(.is-hit,.is-active) { background:transparent; --gateway-icon-primary:#74A9E8; --gateway-icon-secondary:#68B8AD; --gateway-icon-highlight:#FFE45C; --gateway-icon-soft:#DCE6F2; }
.voter-intelligence-animation .gateway-chat-question { font-size:1.7cqw; }
.voter-intelligence-animation .gateway-chat-response { display:grid; grid-template-rows:minmax(8cqw,auto) auto; min-height:17cqw; padding-top:2.5cqw; gap:1.4cqw; }
.voter-intelligence-animation .gateway-question-line { display:block; white-space:normal; }
.voter-intelligence-animation .gateway-result-summary { grid-area:1 / 1; margin:0; font-size:1.8cqw; line-height:1.45; visibility:hidden; }
.voter-intelligence-animation.is-answer-ready .gateway-result-summary { visibility:visible; }
.voter-intelligence-animation .gateway-chat-evidence { padding:1.6cqw 1.2cqw; gap:1.2cqw; }
.voter-intelligence-animation .gateway-chat-evidence .gateway-chat-answer { display:block; font-size:2cqw; line-height:1.25; font-weight:700; letter-spacing:-.02em; }
.voter-intelligence-animation .gateway-chat-evidence small { font-size:1.4cqw; line-height:1.4; }
.voter-intelligence-animation .gateway-chat-evidence .gateway-file-icon { width:3.4cqw; height:4cqw; }
.voter-intelligence-animation .gateway-working-status { font-size:1.8cqw; line-height:1.4; }
