/* DT360 KI HERO FLOW V3 — DESKTOP */
@media (min-width: 821px) {

.dt360-home-hero .dt360-ki-hero-visual.kiv {
  --ki-lime: var(--dt360-ds-lime, #caff00); --ki-cyan: #8ce5e7;
  position: relative; grid-area: visual; width: 100%; min-width: 0;
  color: #fff; font-family: var(--dt360-ds-font-body, sans-serif); isolation: isolate;
}
.kiv, .kiv * { box-sizing: border-box; }
.kiv .kiv-scene { position: relative; display: grid; align-items: center; isolation: isolate; }
.kiv .kiv-scene::before {
  content: ""; position: absolute; inset: 9% 13%; z-index: -2; pointer-events: none;
  background: linear-gradient(rgba(138,112,216,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(138,112,216,.12) 1px, transparent 1px);
  background-size: 30px 30px; mask-image: radial-gradient(ellipse, #000 12%, transparent 70%);
  transform: perspective(700px) rotateY(-12deg) rotateX(7deg);
}
.kiv .kiv-connections { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }
.kiv .kiv-wire { fill: none; stroke: #a7ba77; stroke-width: 1.25; opacity: .5; }
.kiv .kiv-wire.kiv-input { stroke: #8edfe5; opacity: .55; }
.kiv .kiv-pulse { fill: none; stroke: var(--ki-lime); stroke-width: 2.8; stroke-dasharray: 2 98; stroke-linecap: round; filter: drop-shadow(0 0 4px #caff00); opacity: 0; }
.kiv .kiv-pulse.kiv-input { stroke: #b6fcff; filter: drop-shadow(0 0 4px #65e2ed); }
.kiv .kiv-dot { fill: var(--ki-lime); filter: drop-shadow(0 0 4px #caff00); }
.kiv .kiv-dot.kiv-input { fill: #b6fcff; filter: drop-shadow(0 0 4px #65e2ed); }
.kiv .kiv-sources, .kiv .kiv-core, .kiv .kiv-results { position: relative; z-index: 1; min-width: 0; }
.kiv .kiv-kicker { color: #c2aedf; font-family: var(--dt360-ds-font-head, sans-serif); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.kiv .kiv-documents { display: grid; }
.kiv .kiv-source { position: relative; perspective: 600px; }
.kiv .kiv-glass {
  position: relative; height: 100%; width: 100%; border: 1px solid rgba(196,177,255,.65); border-radius: 11px;
  background: linear-gradient(130deg, rgba(143,128,203,.42), rgba(53,32,103,.87) 45%, rgba(25,15,57,.96));
  box-shadow: 0 12px 28px #07001666, inset 0 1px 1px #ede8ff33; transform: rotateY(-16deg) rotateZ(-5deg);
  display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 13px;
}
.kiv .kiv-glass::before {
  content: ""; position: absolute; inset: -9px 10px 9px -10px; z-index: -1; border-radius: 10px;
  border: 1px solid #c6b6ff45; background: linear-gradient(130deg, #b4a1ff29, #33225e55);
}
.kiv .kiv-source:nth-child(2) .kiv-glass { transform: rotateY(-16deg) rotateZ(3deg); }
.kiv .kiv-source:nth-child(3) .kiv-glass { transform: rotateY(-16deg) rotateZ(-4deg); }
.kiv .kiv-file-icon { width: 28px; height: 28px; color: #d7cbff; filter: drop-shadow(0 0 7px #a8a6ff44); }
.kiv svg:not(.kiv-connections):not(.kiv-chip) { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.kiv .kiv-glass strong { color: #f0ebff; font-size: 12px; line-height: 1.3; font-weight: 600; }
.kiv .kiv-file-lines { position: absolute; right: 12px; top: 25px; width: 26%; display: grid; gap: 5px; }
.kiv .kiv-file-lines i { height: 2px; border-radius: 2px; background: #c8b2ff55; }
.kiv .kiv-file-lines i:last-child { width: 65%; }
.kiv .kiv-source-note { color: #aaa1c3; font-size: 11px; line-height: 1.5; }
.kiv .kiv-core { display: flex; align-items: center; justify-content: center; }
.kiv .kiv-aura {
  position: absolute; width: 230px; height: 230px; border-radius: 50%; pointer-events: none; z-index: -1;
  background: radial-gradient(circle, #8d78ff30 0, #65e6f521 23%, #60e6dd10 42%, transparent 68%);
}
.kiv .kiv-hub { position: relative; flex-shrink: 0; }
.kiv .kiv-chip { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(-7px 0 14px #7cdde745) drop-shadow(9px 8px 12px #07001499); }
.kiv .kiv-core-caption { text-align: center; }
.kiv .kiv-core-caption strong { display: block; color: #e3daff; font-size: 12px; line-height: 1.5; font-weight: 600; }
.kiv .kiv-core-caption span { display: block; color: #a99bbd; font-size: 10px; line-height: 1.5; margin-top: 5px; }
.kiv .kiv-results { display: grid; gap: 19px; padding: 0; margin: 0; list-style: none; }
.kiv .kiv-step {
  display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 82px; padding: 14px;
  border: 1px solid #8e6dcb70; border-radius: 13px;
  background: linear-gradient(120deg, #261441f5, #100522f5); box-shadow: inset 0 1px #e0caff0d, 0 10px 24px #06001133;
}
.kiv .kiv-step-icon { flex: 0 0 27px; height: 27px; color: #cfbfff; }
.kiv .kiv-step-text { min-width: 0; }
.kiv .kiv-step-text strong { display: block; color: #fff; font-family: var(--dt360-ds-font-head, sans-serif); font-size: 14px; line-height: 1.3; font-weight: 650; }
.kiv .kiv-step-text > span { display: block; color: #dfd5f0; font-size: 12px; line-height: 1.4; margin-top: 5px; }
.kiv .kiv-step-text small { display: block; color: #ac9cc8; font-size: 10px; line-height: 1.4; margin-top: 3px; }
.kiv .kiv-result { border-color: #caff0099; background: linear-gradient(125deg, #27351b90, #100821); box-shadow: inset 0 0 25px #caff0006, 0 0 22px #caff000a; }
.kiv .kiv-result strong { color: var(--ki-lime); }
.kiv .kiv-result .kiv-step-icon { padding: 6px; width: 30px; height: 30px; flex-basis: 30px; border-radius: 50%; background: var(--ki-lime); color: #152200; box-shadow: 0 0 15px #caff002a; }
.kiv .kiv-result .kiv-step-icon svg { stroke-width: 2.8; }
.kiv .kiv-toggle { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.kiv .kiv-control { position: relative; z-index: 2; display: flex; align-items: center; justify-content: flex-end; gap: 7px; width: fit-content; margin: 0 0 12px auto; padding: 7px 9px; color: #b5a7cc; font-size: 10px; line-height: 1.3; border: 1px solid #9177bd44; border-radius: 20px; cursor: pointer; }
.kiv .kiv-control:hover, .kiv .kiv-toggle:focus-visible + .kiv-control { color: #fff; outline: 2px solid var(--ki-lime); outline-offset: 3px; }
.kiv .kiv-toggle:checked + .kiv-control { color: var(--ki-lime); border-color: #caff0080; }
.kiv .kiv-toggle:checked ~ .kiv-scene .kiv-pulse, .kiv .kiv-toggle:checked ~ .kiv-scene .kiv-aura { animation-play-state: paused; }

.kiv .kiv-scene { grid-template-columns: minmax(65px,.7fr) minmax(80px,.8fr) minmax(155px,1.35fr); column-gap: clamp(12px,1.7vw,28px); padding: 12px 2px 20px 16px; min-height: 430px; }
.kiv .kiv-kicker { margin-bottom: 24px; }
.kiv .kiv-documents { grid-template-columns: 1fr; gap: 30px; }
.kiv .kiv-source { width: 100%; max-width: 130px; height: 92px; }
.kiv .kiv-source-note { margin-top: 22px; }
.kiv .kiv-core { flex-direction: column; gap: 5px; padding-top: 22px; }
.kiv .kiv-hub { width: 100%; max-width: 166px; aspect-ratio: 180/190; }
.kiv .kiv-core-caption { max-width: 160px; }
.kiv .kiv-aura { top: calc(50% - 155px); }

@media (prefers-reduced-motion: no-preference) {
  .kiv .kiv-pulse { opacity: 1; animation: ki-v3-stream 3.8s linear infinite; }
  .kiv .kiv-aura { animation: ki-v3-breathe 5s ease-in-out infinite; }
}
@media (prefers-reduced-motion: reduce) { .kiv .kiv-control, .kiv .kiv-toggle { display: none; } }
@keyframes ki-v3-stream { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes ki-v3-breathe { 50% { opacity: .55; transform: scale(.92); } }

}
