/* Solution-specific explainers: purposeful, lightweight, and bilingual. */
.sol-hero { padding-bottom: clamp(40px, 6vw, 72px); }
.sol-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.sol-row--flip .sol-row__media { order: -1; }
.sol-block { padding: clamp(56px, 7vw, 88px) 0; border-bottom: 1px solid var(--line); scroll-margin-top: 86px; }
.sol-block:last-child { border-bottom: 0; }
.sol-ic { width: 60px; height: 60px; border-radius: 16px; display: grid; place-items: center; color: #fff; margin-bottom: 20px; }
.sol-ic svg { width: 30px; height: 30px; stroke-width: 1.7; }
.sol-block h2 { font-size: clamp(28px, 3.4vw, 42px); }
.sol-block > .rx-container > .sol-row > div > p { color: var(--ink-soft); font-size: 16.5px; line-height: 1.7; margin-top: 14px; max-width: 64ch; }
.sol-list { margin: 20px 0 24px; padding: 0; list-style: none; display: grid; gap: 11px; }
.sol-list li { position: relative; padding-inline-start: 28px; color: var(--ink-soft); font-size: 15px; }
.sol-list li::before { content: ""; position: absolute; inset-inline-start: 0; top: 6px; width: 17px; height: 17px; border-radius: 5px; background: linear-gradient(135deg, var(--blue-500), var(--blue-800)); }
.sol-list li::after { content: ""; position: absolute; inset-inline-start: 5px; top: 9px; width: 7px; height: 4px; border-inline-start: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }
html[dir="rtl"] .sol-list li::after { transform: rotate(45deg); }

.sol-media {
  --sol-accent: #60a5fa;
  --sol-accent-rgb: 96, 165, 250;
  position: relative;
  isolation: isolate;
  min-height: 330px;
  overflow: hidden;
  padding: 20px;
  border: 1px solid rgba(147, 197, 253, .16);
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(17, 26, 45, .88), rgba(7, 12, 24, .96));
  contain: layout paint;
}
.sol-media::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 260px;
  height: 260px;
  inset-inline-end: -100px;
  top: -120px;
  background: radial-gradient(circle, rgba(var(--sol-accent-rgb), .18), transparent 70%);
  pointer-events: none;
}
.sol-media--strategy { --sol-accent: #93c5fd; --sol-accent-rgb: 147, 197, 253; }
.sol-media--agents { --sol-accent: #60a5fa; --sol-accent-rgb: 96, 165, 250; }
.sol-media--rag { --sol-accent: #38bdf8; --sol-accent-rgb: 56, 189, 248; }
.sol-media--vision { --sol-accent: #34d399; --sol-accent-rgb: 52, 211, 153; }
.sol-media--platform { --sol-accent: #818cf8; --sol-accent-rgb: 129, 140, 248; }
.sol-media--decision { --sol-accent: #fbbf24; --sol-accent-rgb: 251, 191, 36; }
.sol-media--custom { --sol-accent: #22d3ee; --sol-accent-rgb: 34, 211, 238; }

.sol-scene { position: relative; min-height: 288px; color: #dbeafe; }
.sol-scene__bar { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid rgba(147, 197, 253, .13); font-size: 12px; font-weight: 700; color: #cbd5e1; }
.sol-scene__bar > span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.sol-scene__bar > span:first-child::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sol-accent); box-shadow: 0 0 0 4px rgba(var(--sol-accent-rgb), .1); }
.sol-scene__badge { flex: 0 0 auto; padding: 4px 8px; border-radius: 6px; color: var(--sol-accent); background: rgba(var(--sol-accent-rgb), .09); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
html[dir="rtl"] .sol-scene__badge { letter-spacing: 0; }
.sol-caption { margin-top: 12px; color: #7f91ae; font-size: 11px; line-height: 1.4; }

/* 1. Strategy: a roadmap advances from discovery to governed scale. */
.strategy-track { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 44px; }
.strategy-track::before,
.strategy-track::after { content: ""; position: absolute; z-index: 0; top: 19px; inset-inline: 8%; height: 2px; transform-origin: left center; }
.strategy-track::before { background: rgba(147, 197, 253, .14); }
.strategy-track::after { background: linear-gradient(90deg, #60a5fa, #38bdf8); transform: scaleX(.18); }
html[dir="rtl"] .strategy-track::after { transform-origin: right center; }
.strategy-step { position: relative; z-index: 1; min-width: 0; text-align: center; }
.strategy-step__node { position: relative; z-index: 1; width: 40px; height: 40px; margin: 0 auto 13px; display: grid; place-items: center; border: 1px solid rgba(147, 197, 253, .2); border-radius: 12px; background: #0c1527; color: #93c5fd; font: 700 12px 'Sora', sans-serif; }
.strategy-step b { display: block; color: #f8fafc; font-size: 12px; line-height: 1.25; }
.strategy-step small { display: block; margin-top: 5px; color: #7f91ae; font-size: 10px; line-height: 1.3; }
.strategy-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 30px; }
.strategy-proof span { padding: 8px; border-radius: 8px; background: rgba(255, 255, 255, .035); color: #9fb0c9; font-size: 10px; text-align: center; }
.sol-media.is-active .strategy-track::after { animation: strategy-sweep 5.6s cubic-bezier(.16, 1, .3, 1) infinite; }
.sol-media.is-active .strategy-step__node { animation: strategy-node 5.6s ease-in-out infinite; }
.sol-media.is-active .strategy-step:nth-child(2) .strategy-step__node { animation-delay: .65s; }
.sol-media.is-active .strategy-step:nth-child(3) .strategy-step__node { animation-delay: 1.3s; }
.sol-media.is-active .strategy-step:nth-child(4) .strategy-step__node { animation-delay: 1.95s; }
@keyframes strategy-sweep { 0%, 10% { transform: scaleX(.08); } 55%, 82% { transform: scaleX(1); } 100% { transform: scaleX(.08); } }
@keyframes strategy-node { 0%, 12%, 80%, 100% { border-color: rgba(147, 197, 253, .2); background: #0c1527; } 22%, 54% { border-color: rgba(96, 165, 250, .7); background: #102344; } }

/* 2. Agents: a request is reasoned over, routed to tools, then approved. */
.agent-workflow { display: grid; grid-template-columns: minmax(0, .82fr) 52px minmax(0, 1.18fr); align-items: center; gap: 8px; margin-top: 22px; min-height: 180px; }
.agent-request,
.agent-core,
.agent-tool { border: 1px solid rgba(147, 197, 253, .15); background: rgba(255, 255, 255, .035); }
.agent-request { padding: 14px; border-radius: 12px; color: #cbd5e1; font-size: 11px; line-height: 1.45; }
.agent-request b { display: block; margin-bottom: 6px; color: #fff; font-size: 12px; }
.agent-route { position: relative; height: 2px; background: rgba(96, 165, 250, .18); overflow: visible; }
.agent-route::after { content: ""; position: absolute; width: 8px; height: 8px; top: -3px; inset-inline-start: 0; border-radius: 50%; background: #60a5fa; opacity: 0; }
.agent-stack { display: grid; gap: 8px; }
.agent-core { padding: 12px; border-radius: 12px; display: flex; align-items: center; gap: 10px; color: #fff; font-size: 12px; font-weight: 700; }
.agent-core__mark { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(37, 99, 235, .22); color: #93c5fd; }
.agent-core__mark svg { width: 17px; height: 17px; }
.agent-tools { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.agent-tool { min-width: 0; padding: 9px 5px; border-radius: 9px; text-align: center; color: #8fa0ba; font-size: 9px; }
.agent-tool svg { display: block; width: 15px; height: 15px; margin: 0 auto 5px; color: #60a5fa; }
.agent-approval { margin-top: 12px; padding: 9px 11px; display: flex; align-items: center; gap: 8px; border-radius: 9px; background: rgba(52, 211, 153, .08); color: #a7f3d0; font-size: 10px; }
.agent-approval i { width: 7px; height: 7px; border-radius: 50%; background: #34d399; }
.sol-media.is-active .agent-route::after { animation: agent-route 3.8s cubic-bezier(.16, 1, .3, 1) infinite; }
.sol-media.is-active .agent-tool { animation: agent-tool 3.8s ease-in-out infinite; }
.sol-media.is-active .agent-tool:nth-child(2) { animation-delay: .4s; }
.sol-media.is-active .agent-tool:nth-child(3) { animation-delay: .8s; }
@keyframes agent-route { 0%, 8% { inset-inline-start: 0; opacity: 0; } 18%, 68% { opacity: 1; } 72% { inset-inline-start: calc(100% - 8px); opacity: 1; } 80%, 100% { inset-inline-start: calc(100% - 8px); opacity: 0; } }
@keyframes agent-tool { 0%, 22%, 80%, 100% { color: #8fa0ba; border-color: rgba(147, 197, 253, .15); } 35%, 58% { color: #dbeafe; border-color: rgba(96, 165, 250, .55); background: rgba(37, 99, 235, .16); } }

/* 3. RAG: question, retrieval, then a cited answer. */
.rag-chat { display: grid; gap: 10px; margin-top: 16px; }
.rag-bubble { max-width: 88%; padding: 10px 12px; border-radius: 12px; font-size: 11px; line-height: 1.45; }
.rag-bubble--user { margin-inline-start: auto; color: #eff6ff; background: rgba(37, 99, 235, .28); border-end-end-radius: 4px; }
.rag-retrieval { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.rag-source { min-width: 0; padding: 8px; border: 1px solid rgba(56, 189, 248, .16); border-radius: 8px; background: rgba(8, 145, 178, .07); color: #8fb8cc; font-size: 9px; }
.rag-source b { display: block; margin-bottom: 3px; overflow: hidden; color: #bae6fd; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.rag-bubble--answer { max-width: 100%; color: #cbd5e1; background: rgba(255, 255, 255, .04); border: 1px solid rgba(147, 197, 253, .13); border-end-start-radius: 4px; }
.rag-answer-line { display: block; width: 100%; height: 6px; margin: 5px 0; border-radius: 3px; background: rgba(219, 234, 254, .25); transform-origin: left; }
.rag-answer-line:nth-child(2) { width: 86%; }
.rag-answer-line:nth-child(3) { width: 68%; }
html[dir="rtl"] .rag-answer-line { transform-origin: right; }
.rag-citations { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.rag-citations span { padding: 4px 7px; border-radius: 6px; color: #7dd3fc; background: rgba(14, 165, 233, .09); font-size: 9px; }
.rag-private { display: flex; align-items: center; gap: 6px; color: #86efac; font-size: 9px; }
.rag-private svg { width: 13px; height: 13px; }
.sol-media.is-active .rag-source { animation: rag-source 5.8s ease-in-out infinite; }
.sol-media.is-active .rag-source:nth-child(2) { animation-delay: .28s; }
.sol-media.is-active .rag-source:nth-child(3) { animation-delay: .56s; }
.sol-media.is-active .rag-answer-line { animation: rag-answer 5.8s cubic-bezier(.16, 1, .3, 1) infinite; }
.sol-media.is-active .rag-answer-line:nth-child(2) { animation-delay: .12s; }
.sol-media.is-active .rag-answer-line:nth-child(3) { animation-delay: .24s; }
@keyframes rag-source { 0%, 18%, 78%, 100% { border-color: rgba(56, 189, 248, .16); } 30%, 54% { border-color: rgba(56, 189, 248, .65); background: rgba(8, 145, 178, .16); } }
@keyframes rag-answer { 0%, 34% { transform: scaleX(.08); opacity: .25; } 55%, 86% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(.08); opacity: .25; } }

/* 4. Vision: an edge camera scans a scene and raises a bounded alert. */
.vision-frame { position: relative; height: 238px; margin-top: 14px; overflow: hidden; border: 1px solid rgba(52, 211, 153, .16); border-radius: 12px; background: linear-gradient(180deg, #102238 0%, #0b1727 48%, #0b1421 49%, #09101b 100%); }
.vision-frame::before { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(135deg, transparent 49.6%, rgba(148, 163, 184, .08) 50%, transparent 50.4%), linear-gradient(45deg, transparent 49.6%, rgba(148, 163, 184, .08) 50%, transparent 50.4%); background-size: 70px 70px; }
.vision-camera { position: absolute; top: 10px; inset-inline-start: 10px; display: flex; align-items: center; gap: 7px; color: #bbf7d0; font-size: 9px; }
.vision-camera i { width: 6px; height: 6px; border-radius: 50%; background: #34d399; }
.vision-scan { position: absolute; inset-inline: 0; top: 36px; height: 2px; background: linear-gradient(90deg, transparent, rgba(52, 211, 153, .9), transparent); opacity: .3; }
.vision-box { position: absolute; border: 1px solid #34d399; border-radius: 5px; color: #d1fae5; font-size: 8px; }
.vision-box span { position: absolute; inset-inline-start: -1px; bottom: 100%; padding: 2px 5px; background: #059669; white-space: nowrap; }
.vision-box--person { width: 54px; height: 96px; inset-inline-start: 21%; top: 88px; }
.vision-box--vehicle { width: 112px; height: 60px; inset-inline-end: 12%; top: 130px; border-color: #fbbf24; }
.vision-box--vehicle span { background: #d97706; }
.vision-zone { position: absolute; inset-inline: 8%; bottom: 13px; height: 30px; border: 1px dashed rgba(248, 113, 113, .5); transform: skewX(-18deg); }
.vision-alert { position: absolute; inset-inline-end: 10px; top: 10px; padding: 6px 8px; border-radius: 7px; color: #fecaca; background: rgba(127, 29, 29, .75); font-size: 8px; }
.sol-media.is-active .vision-scan { animation: vision-scan 3.6s ease-in-out infinite; }
.sol-media.is-active .vision-box { animation: vision-box 3.6s ease-in-out infinite; }
.sol-media.is-active .vision-box--vehicle { animation-delay: .5s; }
.sol-media.is-active .vision-alert { animation: vision-alert 3.6s ease-in-out infinite; }
@keyframes vision-scan { 0%, 8% { transform: translateY(0); opacity: .2; } 62%, 78% { transform: translateY(174px); opacity: .8; } 100% { transform: translateY(0); opacity: .2; } }
@keyframes vision-box { 0%, 25%, 100% { opacity: .45; } 38%, 82% { opacity: 1; } }
@keyframes vision-alert { 0%, 42%, 100% { opacity: .35; transform: translateY(-3px); } 55%, 84% { opacity: 1; transform: none; } }

/* 5. Platform: requests travel through a private AI control plane. */
.platform-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; gap: 16px; margin-top: 38px; }
.platform-node { position: relative; min-width: 0; padding: 13px 7px; border: 1px solid rgba(129, 140, 248, .18); border-radius: 11px; background: rgba(255, 255, 255, .035); text-align: center; color: #c7d2fe; font-size: 9px; }
.platform-node svg { display: block; width: 19px; height: 19px; margin: 0 auto 7px; color: #a5b4fc; }
.platform-node:not(:last-child)::after { content: ""; position: absolute; top: 50%; inset-inline-start: calc(100% + 1px); width: 16px; height: 1px; background: rgba(129, 140, 248, .25); }
.platform-node i { position: absolute; width: 6px; height: 6px; top: calc(50% - 3px); inset-inline-start: calc(100% + 1px); z-index: 2; border-radius: 50%; background: #818cf8; opacity: 0; }
.platform-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 36px; }
.platform-metric { padding: 10px; border-radius: 9px; background: rgba(255, 255, 255, .035); }
.platform-metric b { display: block; color: #eef2ff; font-size: 12px; }
.platform-metric span { color: #818aa1; font-size: 9px; }
.sol-media.is-active .platform-node i { animation: platform-packet 4.4s cubic-bezier(.16, 1, .3, 1) infinite; }
.sol-media.is-active .platform-node:nth-child(2) i { animation-delay: .8s; }
.sol-media.is-active .platform-node:nth-child(3) i { animation-delay: 1.6s; }
@keyframes platform-packet { 0%, 10% { transform: translateX(0); opacity: 0; } 25%, 58% { opacity: 1; } 68% { transform: translateX(16px); opacity: 1; } 78%, 100% { transform: translateX(16px); opacity: 0; } }
html[dir="rtl"] .sol-media.is-active .platform-node i { animation-name: platform-packet-rtl; }
@keyframes platform-packet-rtl { 0%, 10% { transform: translateX(0); opacity: 0; } 25%, 58% { opacity: 1; } 68% { transform: translateX(-16px); opacity: 1; } 78%, 100% { transform: translateX(-16px); opacity: 0; } }

/* 6. Decision intelligence: a natural-language question becomes an insight. */
.decision-query { margin-top: 15px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(251, 191, 36, .18); border-radius: 10px; background: rgba(120, 53, 15, .08); color: #fde68a; font-size: 10px; }
.decision-query svg { width: 15px; height: 15px; flex: 0 0 auto; }
.decision-board { display: grid; grid-template-columns: 1.3fr .7fr; gap: 10px; margin-top: 11px; }
.decision-chart { height: 155px; padding: 14px 12px 10px; display: flex; align-items: flex-end; gap: 7px; border: 1px solid rgba(147, 197, 253, .12); border-radius: 10px; background: rgba(255, 255, 255, .025); }
.decision-bar { flex: 1; height: var(--h); min-width: 5px; border-radius: 4px 4px 1px 1px; background: linear-gradient(180deg, #fbbf24, #2563eb); transform-origin: bottom; }
.decision-side { display: grid; gap: 8px; }
.decision-kpi { padding: 10px; border-radius: 9px; background: rgba(255, 255, 255, .035); }
.decision-kpi b { display: block; color: #fff; font: 700 15px 'Sora', sans-serif; }
.decision-kpi span { color: #8997ad; font-size: 8px; }
.decision-insight { padding: 9px; border-radius: 9px; color: #fde68a; background: rgba(217, 119, 6, .1); font-size: 9px; line-height: 1.35; }
.decision-safe { margin-top: 9px; display: flex; align-items: center; gap: 6px; color: #86efac; font-size: 9px; }
.decision-safe svg { width: 13px; height: 13px; flex: 0 0 auto; }
.sol-media.is-active .decision-bar { animation: decision-bars 4.8s cubic-bezier(.16, 1, .3, 1) infinite; }
.sol-media.is-active .decision-bar:nth-child(2) { animation-delay: .12s; }
.sol-media.is-active .decision-bar:nth-child(3) { animation-delay: .24s; }
.sol-media.is-active .decision-bar:nth-child(4) { animation-delay: .36s; }
.sol-media.is-active .decision-bar:nth-child(5) { animation-delay: .48s; }
.sol-media.is-active .decision-bar:nth-child(6) { animation-delay: .6s; }
@keyframes decision-bars { 0%, 18% { transform: scaleY(.18); opacity: .4; } 42%, 86% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(.18); opacity: .4; } }

/* 7. Custom development: delivery stages move from blueprint to live system. */
.custom-pipeline { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 34px; }
.custom-pipeline::before,
.custom-pipeline::after { content: ""; position: absolute; z-index: 0; top: 20px; inset-inline: 7%; height: 2px; transform-origin: left; }
.custom-pipeline::before { background: rgba(34, 211, 238, .13); }
.custom-pipeline::after { background: linear-gradient(90deg, #2563eb, #22d3ee, #34d399); transform: scaleX(.08); }
html[dir="rtl"] .custom-pipeline::after { transform-origin: right; }
.custom-stage { position: relative; z-index: 1; min-width: 0; text-align: center; color: #8ea0b8; font-size: 9px; }
.custom-stage b { position: relative; z-index: 1; width: 40px; height: 40px; margin: 0 auto 9px; display: grid; place-items: center; border: 1px solid rgba(34, 211, 238, .18); border-radius: 11px; background: #0c1527; color: #a5f3fc; font-size: 11px; }
.custom-code { margin-top: 28px; padding: 12px; display: grid; gap: 7px; border-radius: 10px; background: #080e19; border: 1px solid rgba(147, 197, 253, .1); }
.custom-code span { display: block; height: 6px; border-radius: 3px; background: rgba(148, 163, 184, .16); }
.custom-code span:nth-child(1) { width: 72%; background: rgba(96, 165, 250, .35); }
.custom-code span:nth-child(2) { width: 91%; }
.custom-code span:nth-child(3) { width: 64%; background: rgba(52, 211, 153, .25); }
.custom-live { margin-top: 10px; display: flex; align-items: center; gap: 7px; color: #86efac; font-size: 9px; }
.custom-live i { width: 7px; height: 7px; border-radius: 50%; background: #34d399; }
.sol-media.is-active .custom-pipeline::after { animation: custom-build 5.2s cubic-bezier(.16, 1, .3, 1) infinite; }
.sol-media.is-active .custom-stage b { animation: custom-stage 5.2s ease-in-out infinite; }
.sol-media.is-active .custom-stage:nth-child(2) b { animation-delay: .55s; }
.sol-media.is-active .custom-stage:nth-child(3) b { animation-delay: 1.1s; }
.sol-media.is-active .custom-stage:nth-child(4) b { animation-delay: 1.65s; }
@keyframes custom-build { 0%, 10% { transform: scaleX(.08); } 62%, 84% { transform: scaleX(1); } 100% { transform: scaleX(.08); } }
@keyframes custom-stage { 0%, 16%, 84%, 100% { border-color: rgba(34, 211, 238, .18); background: #0c1527; } 28%, 58% { border-color: rgba(34, 211, 238, .7); background: #0b2a38; } }

@media (max-width: 920px) {
  .sol-row { gap: 34px; }
}
@media (max-width: 820px) {
  .sol-row { grid-template-columns: 1fr; gap: 28px; }
  .sol-row--flip .sol-row__media { order: 0; }
  .sol-media { min-height: 320px; }
}
@media (max-width: 520px) {
  .sol-block { padding: 52px 0; }
  .sol-media { min-height: 306px; padding: 16px; }
  .sol-scene { min-height: 272px; }
  .sol-scene__bar { font-size: 11px; }
  .sol-scene__badge { font-size: 9px; }
  .strategy-track { gap: 5px; margin-top: 36px; }
  .strategy-step__node { width: 34px; height: 34px; }
  .strategy-track::before, .strategy-track::after { top: 16px; }
  .strategy-step b { font-size: 10px; }
  .strategy-step small { display: none; }
  .strategy-proof { margin-top: 24px; }
  .agent-workflow { grid-template-columns: 1fr 34px 1.25fr; }
  .agent-request { padding: 10px; }
  .agent-tools { grid-template-columns: 1fr; }
  .agent-tool { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 6px; }
  .agent-tool svg { margin: 0; }
  .rag-bubble { max-width: 94%; }
  .vision-frame { height: 225px; }
  .platform-flow { gap: 8px; margin-top: 32px; }
  .platform-node { padding-inline: 3px; }
  .platform-node:not(:last-child)::after { width: 8px; }
  .platform-node i { display: none; }
  .platform-metrics { margin-top: 30px; }
  .decision-board { grid-template-columns: 1.2fr .8fr; }
  .decision-chart { gap: 4px; }
  .custom-pipeline { gap: 5px; }
  .custom-stage b { width: 34px; height: 34px; }
  .custom-pipeline::before, .custom-pipeline::after { top: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .sol-media *, .sol-media *::before, .sol-media *::after { animation: none !important; transition: none !important; }
  .strategy-track::after, .custom-pipeline::after { transform: scaleX(1); }
  .agent-route::after, .platform-node i { display: none; }
  .rag-answer-line, .decision-bar { transform: none; opacity: 1; }
  .vision-scan { top: 118px; opacity: .45; }
}
