/* XORVANIQ infrastructure motion system. Shared SVG, no rendering loop. */
:root{--motion-fast:160ms;--motion-normal:280ms;--motion-slow:9s;--motion-glow:12s;--motion-pulse:7s;--motion-enter:650ms;--motion-hover:220ms;--xv-violet:#b38aff;--xv-blue:#8cdaff}
.xv-hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 84% 52%,#37205355,transparent 60%)}
.xv-hero>.wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:24px}
.xv-hero h1{font-size:clamp(2.3rem,4.5vw,4.15rem)}.xv-copy{min-width:0}.xv-copy>.actions{margin-top:26px}.xv-copy>p{color:#d3c7e2}
.xv-scene{position:relative;min-width:0;width:100%;margin:0;isolation:isolate;border-radius:24px;background:radial-gradient(ellipse at 55% 45%,#34195570,transparent 72%),linear-gradient(145deg,#100e2055,#100e2000);overflow:hidden;border:1px solid #7c569a44}
.xv-scene svg{display:block;width:100%;height:auto;aspect-ratio:620/480;position:relative;z-index:1}.xv-scene::before{content:'';position:absolute;inset:9% 15%;border-radius:50%;background:radial-gradient(ellipse,#9162d528,transparent 70%);animation:xv-breathe var(--motion-glow) ease-in-out infinite;pointer-events:none}
.xv-scene::after{content:'';position:absolute;left:12%;right:12%;height:1px;top:23%;background:linear-gradient(90deg,transparent,#b688ff80,transparent);animation:xv-scan var(--motion-slow) ease-in-out infinite;pointer-events:none;z-index:2}
.xv-scene figcaption{position:relative;z-index:3;padding:0 22px 18px;font:12px/1.5 system-ui,sans-serif;letter-spacing:.03em;color:#cbbadc;text-align:center}.xv-scene-label{display:flex;justify-content:space-between;gap:12px;padding:18px 22px 0;font:11px/1.4 ui-monospace,monospace;letter-spacing:.12em;color:#d7baff}.xv-led{display:inline-block;width:6px;height:6px;margin-right:6px;vertical-align:middle;background:#be95ff;border-radius:50%;box-shadow:0 0 9px #a36cff;animation:xv-led var(--motion-pulse) ease-in-out infinite}
.xv-motion-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid #674c843d;color:#c9badb;font-size:13px}.xv-motion-bar button{font:inherit;color:#e9d8ff;padding:6px 14px;background:#1e1530;border:1px solid #765898;border-radius:8px;min-height:44px;cursor:pointer}.xv-reachability{display:inline-flex;align-items:center;gap:8px}.xv-reachability::before{content:'';width:7px;height:7px;border-radius:50%;background:#b7a8c8}.xv-reachability[data-state=responding]::before{background:#a6e4cd}
.xv-showcase{background:linear-gradient(180deg,#0c0914,#121020 60%,#0c0914)}.xv-showcase .kicker{margin-bottom:12px}.xv-showcase p{max-width:72ch}.xv-network{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:38px;align-items:center;margin:34px 0;position:relative}.xv-network-stack{display:grid;gap:14px;position:relative}.xv-network a,.xv-network-core{border:1px solid #5d457c;border-radius:12px;background:#181326;padding:18px;text-decoration:none;color:#f1e8ff;position:relative;min-width:0}.xv-network a{display:flex;align-items:center;justify-content:space-between;gap:12px;transition:transform var(--motion-hover),border-color var(--motion-hover)}.xv-network a:hover{transform:translateY(-2px);border-color:#c7a0ff}.xv-network small{display:block;color:#c5b4d8;font-size:12px}.xv-network-core{text-align:center;padding:26px 12px;background:radial-gradient(ellipse,#402056,#181326 75%);box-shadow:0 0 54px #6d3da529}.xv-network-core svg{width:120px;height:94px;display:block;margin:auto}.xv-network-core strong{font-size:20px;letter-spacing:.03em}.xv-network-stack::after{content:'';position:absolute;top:50%;height:2px;width:38px;right:-38px;background:linear-gradient(90deg,#79559c,#c8a4ff,#79559c);background-size:200% 100%;animation:xv-traffic var(--motion-slow) linear infinite}.xv-network-stack:last-child::after{left:-38px;right:auto}.xv-network a span:first-child{min-width:0}.xv-node-symbol{color:#c6a2ff;font-size:18px;flex-shrink:0}
.xv-flow{display:flex;align-items:stretch;margin:24px 0;gap:30px;padding:0;list-style:none}.xv-flow li{flex:1;padding:16px 12px;border:1px solid #785494;border-radius:10px;background:#161025;color:#ebddff;position:relative;text-align:center;font-size:14px;min-width:0}.xv-flow li:not(:last-child)::after{content:'';position:absolute;top:50%;left:100%;width:30px;height:2px;background:linear-gradient(90deg,#653794,#bb94f9,#653794);background-size:200% 100%;animation:xv-traffic var(--motion-slow) linear infinite}.xv-flow-note{font-size:14px;color:#c8b8d9}
.catalogue-card{transition:transform var(--motion-hover),border-color var(--motion-hover),box-shadow var(--motion-hover)}.catalogue-card:hover{transform:translateY(-4px);border-color:#9d70c9;box-shadow:0 14px 34px #0004}.catalogue-card .eyebrow::before{content:'';display:inline-block;width:5px;height:5px;margin-right:9px;border-radius:50%;background:currentColor}.xv-resource-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.xv-resource-list>div{padding:18px;border:1px solid #5b4478;border-radius:10px;background:#181326}.xv-resource-list b{display:block;color:#d7b5ff}.xv-resource-list span{font-size:14px;color:#cdbfdd}.xv-resource-track{height:5px;border-radius:3px;background:repeating-linear-gradient(90deg,#795599 0 12px,#2b203e 12px 18px);margin-top:12px}
.xv-product-motion{position:relative;isolation:isolate}.xv-product-motion::before{content:'';position:absolute;inset:4% 8%;border-radius:42%;border:1px solid #a478d566;transform:rotate(-8deg);animation:xv-breathe var(--motion-glow) ease-in-out infinite;pointer-events:none;z-index:-1}.xv-product-motion img{position:relative}.xv-product-trail{display:flex;gap:6px;align-items:center;justify-content:center;padding:14px 8px;font-size:12px;color:#d9c3ed;letter-spacing:.04em}.xv-product-trail span{padding:8px;border:1px solid #8055a4;border-radius:7px;background:#1e142e}.xv-product-trail i{width:24px;height:2px;background:linear-gradient(90deg,#6c4c8a,#d2b1ef,#6c4c8a);background-size:200%;animation:xv-traffic var(--motion-slow) linear infinite}.xv-loveliq .xv-product-trail{color:#f8cee7}.xv-loveliq .xv-product-trail span{border-color:#af659c;background:#30162e}.xv-loveliq::before{border-color:#f0a0d150}.xv-product-motion img{max-width:100%;height:auto}
@keyframes xv-breathe{0%,100%{opacity:.45;transform:scale(.97)}50%{opacity:.9;transform:scale(1.02)}}@keyframes xv-scan{0%,100%{transform:translateY(0);opacity:0}25%{opacity:.5}75%{opacity:.3}95%{transform:translateY(180px);opacity:0}}@keyframes xv-traffic{to{background-position:-200% 0}}@keyframes xv-led{0%,100%{opacity:.5}50%{opacity:1}}
html:not([data-motion=running]) *,html:not([data-motion=running]) *::before,html:not([data-motion=running]) *::after,html[data-page-hidden=true] *,html[data-page-hidden=true] *::before,html[data-page-hidden=true] *::after{animation-play-state:paused!important}
html:not([data-motion]) [data-motion-toggle]{display:none}
.xv-offscreen,.xv-offscreen::before,.xv-offscreen::after,.xv-offscreen *,.xv-offscreen *::before,.xv-offscreen *::after{animation-play-state:paused!important}
@media(max-width:900px){.xv-hero>.wrap{grid-template-columns:1fr}.xv-scene{max-width:620px;margin:16px auto 0}.xv-hero h1{max-width:18ch}.xv-network{gap:22px}.xv-network-stack::after{width:22px;right:-22px}.xv-network-stack:last-child::after{left:-22px}.xv-network a{padding:14px 10px;flex-wrap:wrap}}
@media(max-width:600px){:root{--motion-slow:16s;--motion-glow:20s;--motion-pulse:12s}.xv-scene::after{animation:none;opacity:.3}.xv-scene::before{animation:none}.xv-scene-label{padding:14px 16px 0;font-size:10px}.xv-scene figcaption{font-size:11px;padding:0 16px 14px}.xv-network{grid-template-columns:1fr;gap:24px}.xv-network-stack{grid-template-columns:1fr 1fr;gap:10px}.xv-network-stack::after{display:none}.xv-network-core{grid-row:1}.xv-network-core svg{width:90px;height:70px}.xv-network a{display:block}.xv-node-symbol{display:none}.xv-flow{gap:17px;flex-direction:column}.xv-flow li:not(:last-child)::after{height:17px;width:2px;left:50%;top:100%}.xv-resource-list{grid-template-columns:1fr}.xv-product-motion::before{animation:none}.xv-hero{background:radial-gradient(ellipse at 50% 75%,#37205344,transparent 60%)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
