@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/montserrat.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}

/* Farby podľa loga: hlboký vesmír, zlato, fialová hmlovina */
:root {
  --bg: #04061a;
  --bg-2: #0a0e2c;
  --bg-3: #111743;
  --line: rgba(160, 170, 255, .1);
  --line-2: rgba(226, 184, 92, .28);
  --text: #f5f1e6;
  --muted: #a4a8c8;
  --gold: #e6b955;
  --gold-2: #ffe3a0;
  --gold-d: #a87a1e;
  --nebula: #8a6cff;
  --nebula-2: #4f7cff;
  --radius: 22px;
  --gap: 16px;
  --sans: 'Montserrat', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  color-scheme: dark;
}
:lang(ar) { --sans: 'Segoe UI', 'Geeza Pro', 'Noto Sans Arabic', 'Noto Naskh Arabic', Tahoma, 'Montserrat', sans-serif; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  color: var(--text);
  font-family: var(--sans);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  background-color: var(--bg);
}

/* Hmlovina a zlaté hviezdy na pozadí celej stránky (pevná vrstva) */
body::before, body::after { content: ''; position: fixed; inset: 0; z-index: -2; pointer-events: none; }
body::before {
  background:
    radial-gradient(60vmax 45vmax at 82% 8%, rgba(138, 108, 255, .30), transparent 62%),
    radial-gradient(55vmax 40vmax at 8% 38%, rgba(79, 124, 255, .22), transparent 62%),
    radial-gradient(50vmax 38vmax at 70% 78%, rgba(170, 80, 210, .22), transparent 62%),
    radial-gradient(40vmax 30vmax at 28% 92%, rgba(230, 185, 85, .14), transparent 62%),
    radial-gradient(30vmax 22vmax at 55% 40%, rgba(230, 185, 85, .06), transparent 62%),
    var(--bg);
}
body::after {
  background-image:
    radial-gradient(1px 1px at 94.8% 39.5%, rgba(255,240,200,0.49), transparent 70%),
    radial-gradient(2px 2px at 36.6% 5.8%, rgba(255,226,150,0.56), transparent 70%),
    radial-gradient(1px 1px at 43.4% 7.0%, rgba(255,226,150,0.73), transparent 70%),
    radial-gradient(1px 1px at 82.7% 12.4%, rgba(255,226,150,0.77), transparent 70%),
    radial-gradient(1px 1px at 57.7% 39.7%, rgba(255,226,150,0.47), transparent 70%),
    radial-gradient(1px 1px at 29.0% 14.4%, rgba(255,214,120,0.74), transparent 70%),
    radial-gradient(1px 1px at 10.3% 57.1%, rgba(255,214,120,0.64), transparent 70%),
    radial-gradient(1.6px 1.6px at 56.4% 61.9%, rgba(255,226,150,0.79), transparent 70%),
    radial-gradient(1.6px 1.6px at 77.7% 46.6%, rgba(240,200,110,0.63), transparent 70%),
    radial-gradient(1px 1px at 79.4% 69.9%, rgba(255,214,120,0.49), transparent 70%),
    radial-gradient(1.6px 1.6px at 52.5% 87.5%, rgba(255,240,200,0.59), transparent 70%),
    radial-gradient(1.3px 1.3px at 11.8% 41.8%, rgba(255,226,150,0.53), transparent 70%),
    radial-gradient(1px 1px at 42.2% 96.2%, rgba(240,200,110,0.83), transparent 70%),
    radial-gradient(1.6px 1.6px at 34.0% 35.0%, rgba(255,240,200,0.74), transparent 70%),
    radial-gradient(1.3px 1.3px at 6.9% 9.4%, rgba(240,200,110,0.69), transparent 70%),
    radial-gradient(2px 2px at 6.1% 70.1%, rgba(255,226,150,0.95), transparent 70%),
    radial-gradient(1.3px 1.3px at 28.5% 38.6%, rgba(240,200,110,0.46), transparent 70%),
    radial-gradient(1.6px 1.6px at 35.5% 61.1%, rgba(240,200,110,0.48), transparent 70%),
    radial-gradient(1.6px 1.6px at 12.9% 24.8%, rgba(255,240,200,0.91), transparent 70%),
    radial-gradient(2px 2px at 8.1% 44.9%, rgba(240,200,110,0.59), transparent 70%),
    radial-gradient(1.3px 1.3px at 81.9% 86.4%, rgba(255,214,120,0.8), transparent 70%),
    radial-gradient(1px 1px at 68.3% 38.0%, rgba(255,240,200,0.53), transparent 70%),
    radial-gradient(1px 1px at 15.1% 65.9%, rgba(255,214,120,0.69), transparent 70%),
    radial-gradient(1.6px 1.6px at 26.3% 0.4%, rgba(255,214,120,0.72), transparent 70%),
    radial-gradient(2px 2px at 95.3% 69.0%, rgba(255,240,200,0.93), transparent 70%),
    radial-gradient(2px 2px at 45.7% 87.1%, rgba(255,226,150,0.65), transparent 70%),
    radial-gradient(1.6px 1.6px at 39.4% 48.2%, rgba(240,200,110,0.48), transparent 70%),
    radial-gradient(1px 1px at 98.5% 44.1%, rgba(255,226,150,0.62), transparent 70%),
    radial-gradient(2px 2px at 10.2% 56.7%, rgba(255,226,150,0.5), transparent 70%),
    radial-gradient(1px 1px at 61.4% 7.0%, rgba(255,240,200,0.76), transparent 70%),
    radial-gradient(2px 2px at 63.4% 95.5%, rgba(255,214,120,0.63), transparent 70%),
    radial-gradient(1.6px 1.6px at 11.5% 48.8%, rgba(255,226,150,0.69), transparent 70%),
    radial-gradient(1.3px 1.3px at 8.6% 10.2%, rgba(255,240,200,0.82), transparent 70%),
    radial-gradient(1px 1px at 82.9% 16.1%, rgba(240,200,110,0.55), transparent 70%);
  background-size: 640px 640px;
  animation: twinkle 7s ease-in-out infinite alternate;
}
.stars2 { position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background-image:
    radial-gradient(1px 1px at 14.7% 54.3%, rgba(255,240,200,0.83), transparent 70%),
    radial-gradient(1.3px 1.3px at 97.9% 86.3%, rgba(255,240,200,0.71), transparent 70%),
    radial-gradient(2px 2px at 35.6% 22.3%, rgba(255,214,120,0.84), transparent 70%),
    radial-gradient(1px 1px at 63.6% 61.3%, rgba(255,240,200,0.85), transparent 70%),
    radial-gradient(2px 2px at 74.0% 22.7%, rgba(240,200,110,0.7), transparent 70%),
    radial-gradient(1.6px 1.6px at 99.0% 79.0%, rgba(255,226,150,0.58), transparent 70%),
    radial-gradient(1.3px 1.3px at 44.7% 93.7%, rgba(255,240,200,0.93), transparent 70%),
    radial-gradient(1.6px 1.6px at 8.1% 10.2%, rgba(255,240,200,0.55), transparent 70%),
    radial-gradient(2px 2px at 48.3% 98.5%, rgba(255,214,120,0.87), transparent 70%),
    radial-gradient(1px 1px at 90.9% 34.4%, rgba(240,200,110,0.87), transparent 70%),
    radial-gradient(1px 1px at 91.0% 78.2%, rgba(255,226,150,0.69), transparent 70%),
    radial-gradient(1px 1px at 43.4% 63.6%, rgba(255,214,120,0.85), transparent 70%),
    radial-gradient(1px 1px at 46.3% 74.3%, rgba(240,200,110,0.81), transparent 70%),
    radial-gradient(2px 2px at 99.3% 2.8%, rgba(255,214,120,0.9), transparent 70%),
    radial-gradient(1.6px 1.6px at 61.2% 59.6%, rgba(255,214,120,0.78), transparent 70%),
    radial-gradient(1px 1px at 15.6% 54.8%, rgba(255,240,200,0.46), transparent 70%),
    radial-gradient(1.6px 1.6px at 52.7% 93.4%, rgba(255,226,150,0.94), transparent 70%),
    radial-gradient(1.3px 1.3px at 82.6% 21.1%, rgba(255,214,120,0.56), transparent 70%),
    radial-gradient(2px 2px at 76.4% 32.6%, rgba(255,214,120,0.66), transparent 70%),
    radial-gradient(1.6px 1.6px at 6.1% 74.0%, rgba(255,214,120,0.78), transparent 70%),
    radial-gradient(1px 1px at 82.7% 87.8%, rgba(240,200,110,0.72), transparent 70%),
    radial-gradient(2px 2px at 87.3% 77.7%, rgba(255,226,150,0.45), transparent 70%);
  background-size: 900px 900px; background-position: 210px 140px;
  animation: twinkle 9s ease-in-out infinite alternate-reverse; }
@keyframes twinkle { from { opacity: .45; } to { opacity: 1; } }
body { background-color: transparent; }
html { background: var(--bg); }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { margin: 0; font-weight: 500; letter-spacing: -.02em; line-height: 1.12; text-wrap: balance; }
:lang(ar) h1, :lang(ar) h2, :lang(ar) h3 { letter-spacing: 0; line-height: 1.35; }
p { margin: 0; }
ul, ol { list-style: none; margin: 0; padding: 0; }
dl, dd { margin: 0; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--gold); color: #120d02; }

.wrap { width: min(1240px, 100% - 32px); margin-inline: auto; }
.narrow { width: min(860px, 100% - 32px); }
.muted { color: var(--muted); }
.small { font-size: .82rem; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; inset-inline-start: 16px; top: -60px; z-index: 50; background: var(--gold); color: #120d02; padding: 10px 16px; border-radius: 10px; text-decoration: none; }
.skip:focus { top: 12px; }

/* ---------- Header ---------- */
.top {
  position: sticky; top: 0; z-index: 20;
  background: rgba(4, 6, 26, .72);
  backdrop-filter: saturate(1.4) blur(14px);
  -webkit-backdrop-filter: saturate(1.4) blur(14px);
  border-bottom: 1px solid var(--line);
}
.top-in { display: flex; align-items: center; gap: 24px; height: 68px; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; flex-shrink: 0; }
.mark { width: 40px; height: 40px; border-radius: 50%; box-shadow: 0 0 18px rgba(230, 185, 85, .35); }
.brand-t { font-size: .86rem; letter-spacing: .02em; color: var(--muted); white-space: nowrap; }
.brand-t b { color: var(--gold-2); font-weight: 600; }
.nav { display: flex; gap: 22px; margin-inline: auto; }
.nav a { color: var(--muted); text-decoration: none; font-size: .86rem; transition: color .2s; }
.nav a:hover { color: var(--gold-2); }
.top-r { display: flex; align-items: center; gap: 14px; margin-inline-start: auto; }
.nav + .top-r { margin-inline-start: 0; }
.langs { display: flex; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 999px; }
.langs a { min-width: 30px; text-align: center; padding: 3px 7px; border-radius: 999px; font-size: .7rem; letter-spacing: .06em; color: var(--muted); text-decoration: none; }
.langs a:hover { color: var(--text); }
.langs a[aria-current] { background: var(--gold); color: #120d02; font-weight: 600; }

/* ---------- Buttons & links ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 22px; border-radius: 999px;
  background: linear-gradient(180deg, var(--gold-2), var(--gold) 55%, #c9952e);
  color: #1a1203;
  font-weight: 600; font-size: .92rem; text-decoration: none;
  transition: transform .2s, box-shadow .2s, filter .2s;
  box-shadow: 0 10px 34px -10px rgba(230, 185, 85, .6), inset 0 1px 0 rgba(255, 255, 255, .5);
}
.btn:hover { transform: translateY(-2px); filter: brightness(1.06); }
.btn-g { background: rgba(255, 255, 255, .03); color: var(--text); border: 1px solid var(--line-2); box-shadow: none; }
.btn-g:hover { background: rgba(230, 185, 85, .08); }
.btn-s { padding: 8px 16px; font-size: .82rem; box-shadow: none; }
:dir(rtl) .btn span, :dir(rtl) .arr { transform: scaleX(-1); display: inline-block; }
.link { display: inline-flex; align-items: center; gap: 6px; color: var(--gold); text-decoration: none; font-size: .86rem; font-weight: 500; }
.link:hover { color: var(--gold-2); }
.link .arr { transition: transform .2s; }
.link:hover .arr { transform: translate(2px, -2px); }
.flip { margin-inline-end: 4px; }

/* ---------- Hero ---------- */
.hero { position: relative; padding: clamp(56px, 9vw, 110px) 0 clamp(56px, 8vw, 96px); overflow-x: clip; isolation: isolate; }
.aura { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.aura i { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .6; animation: drift 24s ease-in-out infinite alternate; }
.aura i:nth-child(1) { width: 46vw; height: 46vw; max-width: 660px; max-height: 660px; background: radial-gradient(circle, rgba(138, 108, 255, .5), transparent 65%); top: -20%; inset-inline-end: -6%; }
.aura i:nth-child(2) { width: 40vw; height: 40vw; max-width: 560px; max-height: 560px; background: radial-gradient(circle, rgba(79, 124, 255, .35), transparent 65%); bottom: -25%; inset-inline-start: -12%; animation-duration: 30s; }
.aura i:nth-child(3) { width: 30vw; height: 30vw; max-width: 420px; max-height: 420px; background: radial-gradient(circle, rgba(230, 185, 85, .28), transparent 65%); top: 18%; inset-inline-end: 12%; animation-duration: 36s; }
@keyframes drift { to { transform: translate3d(6%, 8%, 0) scale(1.15); } }
.hero-grid { display: grid; grid-template-columns: 1.25fr .9fr; gap: clamp(24px, 5vw, 64px); align-items: center; }
.eyebrow, .kicker { font-size: .74rem; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); font-weight: 500; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px 7px 10px; border: 1px solid var(--line-2); border-radius: 999px; background: rgba(230, 185, 85, .06); }
.ic-in svg { width: 18px; height: 18px; animation: spin 18s linear infinite; }
:lang(ar) .eyebrow, :lang(ar) .kicker { letter-spacing: 0; font-size: .9rem; }
.hero h1 { margin-top: 24px; font-size: clamp(2.5rem, 6vw, 5rem); font-weight: 500; letter-spacing: -.035em; }
:lang(ar) .hero h1 { letter-spacing: 0; font-size: clamp(2.2rem, 5.4vw, 4.4rem); }
.hero h1 em {
  font-style: normal;
  background: linear-gradient(100deg, var(--gold-2) 5%, var(--gold) 40%, #c9a0ff 95%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero-lead { margin-top: 26px; max-width: 60ch; font-size: clamp(1.02rem, 1.5vw, 1.16rem); color: #cfd0e4; font-weight: 300; }
.ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

/* Logo-minca s obiehajúcou sieťou */
.coin { position: relative; aspect-ratio: 1; width: min(100%, 470px); justify-self: center; }
.coin img { position: absolute; inset: 9%; width: 82%; height: 82%; border-radius: 50%; animation: float 8s ease-in-out infinite; filter: drop-shadow(0 0 40px rgba(230, 185, 85, .35)) drop-shadow(0 30px 50px rgba(0, 0, 0, .6)); }
.coin::before { content: ''; position: absolute; inset: 4%; border-radius: 50%; background: radial-gradient(circle, rgba(230, 185, 85, .25), transparent 62%); animation: pulse 6s ease-in-out infinite; }
.ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: spin 80s linear infinite; }
.ring-c { fill: none; stroke: var(--gold); stroke-opacity: .25; stroke-width: .25; }
.ring-ch path { stroke: var(--nebula); stroke-opacity: .25; stroke-width: .18; fill: none; }
.ring-n { fill: var(--gold-2); }
@keyframes float { 50% { transform: translateY(-10px) rotate(1.5deg); } }
@keyframes pulse { 50% { opacity: .55; transform: scale(1.05); } }
@keyframes spin { to { transform: rotate(360deg); } }

/* Štyri druhy AI */
.spec-k { margin-top: clamp(48px, 7vw, 80px); }
.spec { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); margin-top: 18px; }
.spec-t { padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.spec-t h3 { font-size: 1.12rem; font-weight: 600; margin-top: 10px; }
.spec-t p { color: var(--muted); font-size: .9rem; }
.spec-t .tech { margin-top: auto; padding-top: 10px; font-size: .72rem; letter-spacing: .08em; color: var(--gold); text-transform: uppercase; }
:lang(ar) .spec-t .tech { letter-spacing: 0; }
.sp { width: 100%; height: 64px; }
.sp path, .sp ellipse, .sp rect { fill: none; stroke-linecap: round; }
.sp-grid { stroke: var(--line); stroke-width: 1; }
.sp-line { stroke: var(--gold); stroke-width: 2.2; stroke-dasharray: 160; stroke-dashoffset: 160; animation: draw 4s ease-in-out infinite; }
.sp-dot { fill: var(--gold-2); animation: blink 4s ease-in-out infinite; }
@keyframes draw { 50%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: -160; } }
@keyframes blink { 0%, 40% { opacity: 0; } 55%, 85% { opacity: 1; } 100% { opacity: 0; } }
.sp-wave { stroke-width: 1.8; animation: wave 3.2s linear infinite; }
.sp-wave.w1 { stroke: var(--gold); }
.sp-wave.w2 { stroke: var(--nebula); stroke-opacity: .7; animation-duration: 4.2s; }
.sp-wave.w3 { stroke: var(--nebula-2); stroke-opacity: .5; animation-duration: 5.4s; }
@keyframes wave { to { transform: translateX(-60px); } }
.sp-physics { overflow: hidden; }
.sp-bub { stroke: var(--gold); stroke-width: 1.5; }
.sp-bub.b2 { stroke: var(--nebula); }
.sp-text { stroke: var(--gold); stroke-opacity: .6; stroke-width: 3; stroke-dasharray: 38; animation: type 3s steps(6) infinite; }
@keyframes type { from { stroke-dashoffset: 38; } 60%, to { stroke-dashoffset: 0; } }
.sp-type { fill: var(--nebula); animation: dots 1.4s ease-in-out infinite; }
.sp-type.t2 { animation-delay: .2s; } .sp-type.t3 { animation-delay: .4s; }
@keyframes dots { 0%, 100% { opacity: .2; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.sp-core { fill: var(--gold-2); }
.sp-orbit { transform-origin: 60px 32px; animation: spin 7s linear infinite; }
.sp-orbit ellipse { stroke: var(--gold); stroke-opacity: .55; stroke-width: 1.2; }
.sp-orbit.o2 { animation-duration: 9s; } .sp-orbit.o2 ellipse { stroke: var(--nebula); }
.sp-orbit.o3 { animation-duration: 11s; animation-direction: reverse; } .sp-orbit.o3 ellipse { stroke: var(--nebula-2); }
.sp-e { fill: var(--gold-2); }
.sp-quantum { overflow: visible; }

/* ---------- Sections ---------- */
.sec { padding: clamp(64px, 9vw, 120px) 0; }
.sh { max-width: 760px; margin-bottom: clamp(32px, 5vw, 52px); }
.sh h2 { margin-top: 14px; font-size: clamp(2rem, 4.6vw, 3.4rem); }
.lead { margin-top: 16px; color: var(--muted); font-size: 1.06rem; font-weight: 300; max-width: 60ch; }

/* ---------- Tiles ---------- */
.tile {
  position: relative; isolation: isolate;
  background: linear-gradient(180deg, rgba(138, 108, 255, .06), rgba(255, 255, 255, .01) 60%), var(--bg-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform .4s cubic-bezier(.2, .7, .2, 1), border-color .4s, box-shadow .4s;
}
.tile::before {
  content: ''; position: absolute; inset: 0; z-index: -1; opacity: 0; transition: opacity .4s;
  background: radial-gradient(600px circle at 50% 0%, rgba(230, 185, 85, .16), transparent 45%);
}
.tile:hover { border-color: rgba(230, 185, 85, .45); transform: translateY(-4px); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .95), 0 0 0 1px rgba(230, 185, 85, .08); }
.tile:hover::before { opacity: 1; }
.tile h3 { font-size: 1.12rem; font-weight: 600; letter-spacing: -.01em; }
.tile p { color: var(--muted); font-size: .93rem; }
.ic { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: var(--gold); background: rgba(230, 185, 85, .08); border: 1px solid rgba(230, 185, 85, .22); flex-shrink: 0; }
.ic svg { width: 22px; height: 22px; overflow: visible; }
.ic-l { width: 64px; height: 64px; border-radius: 18px; }
.ic-l svg { width: 30px; height: 30px; }
.spin, .spin-slow { transform-box: fill-box; transform-origin: center; }
.tag { font-size: .7rem !important; letter-spacing: .16em; text-transform: uppercase; color: var(--gold) !important; font-weight: 500; }
:lang(ar) .tag { letter-spacing: 0; font-size: .82rem !important; }

/* Neurónová sieť na pozadí dlaždíc */
.net { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.nl { stroke: var(--nebula); stroke-opacity: .07; stroke-width: 1; fill: none; transition: stroke-opacity .5s, stroke .5s; }
.nn { fill: var(--nebula); fill-opacity: .14; transition: fill-opacity .5s, fill .5s; transform-box: fill-box; transform-origin: center; }
.tile:hover .nl, .tile:focus-visible .nl, .lit .nl { stroke: var(--gold); stroke-opacity: .18; stroke-dasharray: 3 5; animation: flow 1.8s linear infinite; }
.tile:hover .nn, .tile:focus-visible .nn, .lit .nn { fill: var(--gold-2); fill-opacity: .45; animation: node 1.8s ease-in-out infinite; }
.d1 { animation-delay: -.3s !important; } .d2 { animation-delay: -.6s !important; } .d3 { animation-delay: -.9s !important; } .d4 { animation-delay: -1.2s !important; } .d5 { animation-delay: -1.5s !important; }
@keyframes node { 50% { transform: scale(1.35); fill-opacity: .15; } }
@keyframes flow { to { stroke-dashoffset: -32; } }

/* Audience */
.aud { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: var(--gap); }
.aud > li { display: flex; }
.aud-t { display: flex; flex-direction: column; gap: 10px; padding: 24px; width: 100%; text-decoration: none; min-height: 250px; }
.aud-t h3 { margin-top: 8px; }
.aud-t .ic svg { transition: transform .6s; }
.aud-t:hover .ic-gear .spin, .aud-t:hover .ic-atom .spin { animation: spin 2.4s linear infinite; }
.aud-t:hover .ic-sun .spin-slow { animation: spin 6s linear infinite; }
.aud-t:hover .ic:not(.ic-gear):not(.ic-atom):not(.ic-sun) svg { transform: scale(1.15) rotate(-6deg); }
.more { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s cubic-bezier(.2, .7, .2, 1); }
.more > div { overflow: hidden; }
.aud-t:hover .more, .aud-t:focus-visible .more { grid-template-rows: 1fr; }
.more-k { font-size: .68rem !important; letter-spacing: .16em; text-transform: uppercase; color: var(--gold) !important; margin: 6px 0 8px; }
:lang(ar) .more-k { letter-spacing: 0; font-size: .8rem !important; }
.more ul { display: grid; gap: 6px; }
.more li { position: relative; padding-inline-start: 18px; font-size: .86rem; color: #d6d4e6; line-height: 1.45; }
.more li::before { content: ''; position: absolute; inset-inline-start: 2px; top: .5em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 8px var(--gold); }
.aud-t .arr { margin-top: auto; padding-top: 6px; color: var(--gold); opacity: .5; transition: opacity .3s, transform .3s; font-size: 1.1rem; }
.aud-t:hover .arr { opacity: 1; transform: translateX(4px); }
:dir(rtl) .aud-t:hover .arr { transform: scaleX(-1) translateX(4px); }
@media (hover: none) { .more { grid-template-rows: 1fr; } }


/* ---------- Živá neurónová sieť (Pre koho) ---------- */
.cons { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(20px, 3vw, 44px); align-items: center; }
.cons-map { position: relative; aspect-ratio: 5 / 4; width: 100%; }
.cons-net { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.seg { stroke: var(--nebula); stroke-opacity: .16; stroke-width: 1.2; fill: none; transition: stroke .5s, stroke-opacity .5s, stroke-width .5s; }
.seg.faint { stroke-opacity: .07; stroke-dasharray: 2 6; }
.seg.on { stroke: var(--gold); stroke-opacity: .75; stroke-width: 2; filter: drop-shadow(0 0 4px rgba(230, 185, 85, .7)); }
.pulse { fill: none; stroke: var(--gold-2); stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: 5 95; stroke-dashoffset: 5; opacity: .35; animation: travel 3.4s linear infinite; }
.pulse.p1 { animation-delay: -.6s; animation-duration: 3.9s; } .pulse.p2 { animation-delay: -1.2s; animation-duration: 4.4s; }
.pulse.p3 { animation-delay: -1.8s; animation-duration: 3.1s; } .pulse.p4 { animation-delay: -2.4s; animation-duration: 4.8s; } .pulse.p5 { animation-delay: -3s; animation-duration: 3.6s; }
.pulse.on { opacity: 1; stroke-width: 4; animation-duration: 1.3s; filter: drop-shadow(0 0 6px var(--gold)); }
@keyframes travel { from { stroke-dashoffset: 5; } to { stroke-dashoffset: -100; } }
.hn { fill: var(--bg-2); stroke: var(--nebula); stroke-width: 2; animation: hpulse 3s ease-in-out infinite; }
.hn:nth-of-type(2n) { animation-delay: -1.5s; }
@keyframes hpulse { 50% { stroke: var(--gold); } }
.core-glow { animation: pulse 5s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.cons-core { position: absolute; left: 50%; top: 50%; width: 7%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, var(--gold-2), var(--gold) 55%, #9c6f15); box-shadow: 0 0 0 6px rgba(230, 185, 85, .12), 0 0 50px rgba(230, 185, 85, .8); animation: corebeat 3s ease-in-out infinite; }
@keyframes corebeat { 50% { box-shadow: 0 0 0 12px rgba(230, 185, 85, .06), 0 0 70px rgba(230, 185, 85, 1); } }
/* Logo, ktoré cestuje po sieti (pohyb riadi app.js; bez skriptu stojí v strede) */
.traveler { position: absolute; left: 50%; top: 50%; width: 13%; aspect-ratio: 1; transform: translate(-50%, -50%); z-index: 2; pointer-events: none; }
.traveler img { width: 100%; height: 100%; border-radius: 50%; filter: drop-shadow(0 0 18px rgba(230, 185, 85, .7)) drop-shadow(0 10px 20px rgba(0, 0, 0, .6)); animation: wobble 6s ease-in-out infinite; }
@keyframes wobble { 0%, 100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }
.cn { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; width: 118px; z-index: 1; }
.cn .dot { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--gold); background: radial-gradient(circle at 35% 30%, #232a66, #0b0f2e); border: 1px solid rgba(230, 185, 85, .4); box-shadow: 0 0 0 4px rgba(4, 6, 26, .6), 0 0 18px rgba(138, 108, 255, .35); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s, color .35s, background .35s; }
.cn .dot svg { width: 20px; height: 20px; overflow: visible; }
.cn .lbl { font-size: .74rem; line-height: 1.25; text-align: center; color: #c7c8e0; text-shadow: 0 1px 8px #04061a, 0 0 2px #04061a; transition: color .3s; }
.cn:hover .dot, .cn.on .dot { transform: scale(1.22); color: #1a1203; background: radial-gradient(circle at 35% 30%, var(--gold-2), var(--gold) 60%, #b5841f); box-shadow: 0 0 0 5px rgba(230, 185, 85, .18), 0 0 34px rgba(230, 185, 85, .75); }
.cn:hover .lbl, .cn.on .lbl { color: var(--gold-2); }
.cn .lbl { transition: color .3s, transform .45s cubic-bezier(.2, .7, .2, 1); }
.js .cn.on .lbl { transform: translateY(20px); font-weight: 600; }
.cn.on .dot .spin { animation: spin 2.4s linear infinite; }
.cons:not(.touched) .cn.on .dot { animation: beat 1.8s ease-in-out infinite; }
@keyframes beat { 50% { box-shadow: 0 0 0 9px rgba(230, 185, 85, .08), 0 0 44px rgba(230, 185, 85, .9); } }
.cons-hint { color: var(--muted); font-size: .9rem; margin-bottom: 14px; }
.chips { display: none; }
.cons-panels { display: grid; }
.cp { grid-area: 1 / 1; padding: 30px; border-radius: var(--radius); border: 1px solid var(--line-2);
  background: linear-gradient(160deg, rgba(230, 185, 85, .1), rgba(138, 108, 255, .08) 50%, rgba(10, 14, 44, .85)); backdrop-filter: blur(6px);
  box-shadow: 0 30px 80px -40px rgba(0, 0, 0, .9), inset 0 1px 0 rgba(255, 255, 255, .06); }
.cp h3 { font-size: 1.45rem; margin-top: 16px; }
.cp > p:not(.more-k) { color: #cfd0e4; margin-top: 10px; }
.cp ul { display: grid; gap: 8px; margin: 4px 0 20px; }
.cp li { position: relative; padding-inline-start: 20px; color: #dcdaec; font-size: .95rem; line-height: 1.45; }
.cp li::before { content: ''; position: absolute; inset-inline-start: 2px; top: .5em; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 10px var(--gold); }
.cp .ic-gear .spin, .cp .ic-atom .spin { animation: spin 6s linear infinite; }
.cons:not(.js) .cons-panels { gap: 14px; }
.cons:not(.js) .cp { grid-area: auto; }
.js .cp { opacity: 0; visibility: hidden; transform: translateY(14px) scale(.98); transition: opacity .45s, transform .55s cubic-bezier(.2, .7, .2, 1), visibility 0s .45s; }
.js .cp.on { opacity: 1; visibility: visible; transform: none; transition: opacity .45s, transform .55s cubic-bezier(.2, .7, .2, 1); }
.js .cp.on li { animation: rise .5s both; }
.js .cp.on li:nth-child(2) { animation-delay: .07s; } .js .cp.on li:nth-child(3) { animation-delay: .14s; } .js .cp.on li:nth-child(4) { animation-delay: .21s; }
@keyframes rise { from { opacity: 0; transform: translateY(8px); } }
@media (max-width: 1080px) { .cn { width: 120px; } .cn .lbl { font-size: .68rem; } }
@media (max-width: 820px) {
  .cons { grid-template-columns: 1fr; }
  .cons-map { max-width: 520px; margin-inline: auto; }
  .cn { width: auto; }
  .cn .lbl { display: none; }
  .cn .dot { width: 34px; height: 34px; }
  .cn .dot svg { width: 16px; height: 16px; }
  .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
  .chip { font: inherit; font-size: .8rem; padding: 7px 12px; border-radius: 999px; color: #d0d1e6; background: rgba(255, 255, 255, .03); border: 1px solid var(--line); cursor: pointer; }
  .chip.on { background: var(--gold); color: #1a1203; border-color: var(--gold); font-weight: 600; }
  .cp { padding: 22px; }
}

/* Bento */
.bento { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gap); }
.s-3 { grid-column: span 3; } .s-5 { grid-column: span 5; } .s-6 { grid-column: span 6; } .s-7 { grid-column: span 7; }
.sol { display: flex; flex-direction: column; min-height: 300px; }
.sol .txt { display: flex; flex-direction: column; gap: 10px; padding: 26px; }
.sol .txt h3 { font-size: 1.3rem; }
.sol .links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 6px; }
.sol-img { min-height: 480px; justify-content: flex-end; }
.sol-img .vis { position: absolute; inset: 0; z-index: -2; }
.sol-img .vis img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.sol-img .vis:has(.fit-contain) { background: radial-gradient(circle at 50% 32%, #241c10, #04061a 62%); }
.sol-img .vis img.fit-contain { object-fit: contain; padding: 8% 20% 36%; mix-blend-mode: lighten; }
#ai-lucy .vis img { object-position: center 25%; }
.sol-img:hover .vis img { transform: scale(1.04); }
.sol-img .vis::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4, 6, 26, 0) 25%, rgba(4, 6, 26, .72) 58%, rgba(4, 6, 26, .97) 100%); }
.sol-img .txt p:not(.tag) { color: #ccccdf; }
.sol-art .vis { padding: 22px 22px 0; }
.sol-plain .vis { padding: 26px 26px 0; }
.sol-plain .txt { margin-top: auto; }
.s-3.sol-img { min-height: 380px; }
.vis-net { position: relative; height: 200px; padding: 0 !important; }
.vis-net .net { z-index: 0; }
.sol-accent { background: linear-gradient(135deg, rgba(230, 185, 85, .16), rgba(138, 108, 255, .14)), var(--bg-2); border-color: var(--line-2); }

/* Ecosystem drawing */
.eco { width: 100%; height: auto; }
.eco-l { stroke: var(--gold); stroke-opacity: .6; stroke-width: 1.3; stroke-dasharray: 4 6; animation: flow 3s linear infinite; }
.eco-d1 { animation-delay: -.5s; } .eco-d2 { animation-delay: -1s; } .eco-d3 { animation-delay: -1.5s; } .eco-d4 { animation-delay: -2s; } .eco-d5 { animation-delay: -2.5s; }
.eco-r { stroke: rgba(160, 170, 255, .2); stroke-width: 1; fill: none; }
.eco-hub { fill: var(--bg); stroke: var(--gold); stroke-width: 1.5; }
.eco-n { fill: var(--nebula); }
.eco-c { fill: var(--gold-2); font: 600 15px var(--sans); letter-spacing: .1em; }
.eco-t { fill: #d4d3e6; font: 500 12.5px var(--sans); }

/* Faraday kufrík */
.fara { width: 100%; height: auto; max-height: 260px; }
.fw { fill: none; stroke: var(--nebula-2); stroke-width: 2; stroke-linecap: round; opacity: 0; animation: fwave 3s ease-out infinite; }
.fw1 { animation-delay: .5s; } .fw2 { animation-delay: 1s; }
@keyframes fwave { 0% { opacity: 0; } 30% { opacity: .9; } 100% { opacity: 0; } }
.fc-shield { fill: none; stroke: var(--gold); stroke-width: 1.5; stroke-dasharray: 2 5; animation: flow 4s linear infinite; }
.fc-body { fill: #b8611f; stroke: #e9874a; stroke-width: 1.5; }
.fc-handle { fill: none; stroke: #e9874a; stroke-width: 6; stroke-linecap: round; }
.fc-seam { stroke: rgba(0, 0, 0, .25); stroke-width: 1.5; }
.fc-lock circle { fill: none; stroke: var(--gold-2); stroke-width: 1.8; }
.fc-lock path { stroke: var(--gold-2); stroke-width: 2; stroke-linecap: round; }
.fc-lock { animation: blink 3s ease-in-out infinite; }
.fc-db { fill: var(--gold); font: 600 15px var(--sans); letter-spacing: .12em; }

/* Steps */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap); }
.steps li { padding: 28px 24px; display: flex; flex-direction: column; gap: 10px; }
.steps .n { font-size: 2.4rem; font-weight: 300; color: transparent; -webkit-text-stroke: 1px var(--gold); line-height: 1; margin-bottom: 14px; }

/* Research */
.papers { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap); }
.paper { padding: 30px; display: flex; flex-direction: column; gap: 14px; }
.paper h3 { font-size: 1.2rem; line-height: 1.3; }
.paper .links { display: flex; gap: 20px; margin-top: auto; padding-top: 6px; }

/* Trust */
.trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.trust li { padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.trust .ic { margin-bottom: 6px; }
.press { margin-top: clamp(48px, 7vw, 80px); }
.press-t { display: flex; align-items: center; gap: 24px; margin-top: 16px; padding: 26px 28px; text-decoration: none; }
.press-t .pt { font-size: clamp(1.02rem, 2vw, 1.3rem); font-weight: 500; flex: 1; }
.press-t .tag { white-space: nowrap; }
.press-t .arr { color: var(--gold); font-size: 1.3rem; }

/* FAQ */
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; padding: 22px 0; font-size: 1.08rem; font-weight: 500; display: flex; justify-content: space-between; gap: 20px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; color: var(--gold); font-size: 1.4rem; line-height: 1; transition: transform .3s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding-bottom: 24px; color: var(--muted); max-width: 70ch; }

/* Contact */
.contact { padding: clamp(36px, 7vw, 80px); text-align: center; display: flex; flex-direction: column; align-items: center; }
.contact:hover { transform: none; }
.contact h2 { margin-top: 14px; font-size: clamp(2.2rem, 6vw, 4.4rem); }
.contact .lead { margin-inline: auto; }
.contact .ctas { justify-content: center; }
.contact .aura i { opacity: .4; }
.cdata { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px 44px; margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--line); width: 100%; }
.cdata dt { font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.cdata dd { margin-top: 4px; font-size: .92rem; }
.cdata a { text-decoration: none; }
.cdata a:hover { color: var(--gold); }

/* Legal */
.legal h1 { margin: 26px 0 8px; font-size: clamp(1.8rem, 4vw, 2.6rem); }
.legal section { padding: 28px; margin-top: 18px; }
.legal section:hover { transform: none; }
.legal section h2 { font-size: 1.15rem; margin-bottom: 12px; color: var(--gold); }
.legal section p { color: #c4c4d8; font-size: .93rem; margin-top: 8px; }

/* Footer */
.foot { border-top: 1px solid var(--line); padding: 48px 0 40px; }
.foot-in { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: start; }
.foot-in > p { grid-column: 1 / -1; }
.foot .muted { margin-top: 10px; font-size: .88rem; }
.foot-links { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.foot-links a { color: var(--muted); text-decoration: none; font-size: .86rem; }
.foot-links a:hover { color: var(--gold-2); }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .nav { display: none; }
  .s-3 { grid-column: span 6; }
  .s-5, .s-6, .s-7 { grid-column: span 12; }
  .steps, .spec { grid-template-columns: repeat(2, 1fr); }
  .trust { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .hero-grid { grid-template-columns: 1fr; }
  .coin { order: -1; width: min(62vw, 300px); }
}
@media (max-width: 680px) {
  .brand-t { display: none; }
  .top-in { gap: 12px; }
  .top-r { gap: 8px; }
  .langs a { min-width: 0; padding: 3px 6px; }
  .btn-s { display: none; }
  .s-3 { grid-column: span 12; }
  .sol-img { min-height: 420px; }
  .papers, .trust, .steps { grid-template-columns: 1fr; }
  .spec { gap: 10px; }
  .spec-t { padding: 16px; }
  .spec-t h3 { font-size: 1rem; }
  .spec-t p { font-size: .82rem; }
  .aud { grid-template-columns: 1fr; gap: 12px; }
  .aud-t { min-height: 0; padding: 20px; }
  .aud-t .arr { display: none; }
  .press-t { flex-direction: column; align-items: flex-start; gap: 10px; }
  .foot-in { grid-template-columns: 1fr; }
}
@media (max-width: 380px) {
  .spec { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Vlajkové riešenia: jemné karty s preklikom ---------- */
.flag { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.flag > li { display: flex; }
.fl { position: relative; display: flex; flex-direction: column; gap: 8px; width: 100%; padding: 14px 14px 22px; border-radius: 26px; text-decoration: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, 0)); border: 1px solid transparent; transition: transform .45s cubic-bezier(.2, .7, .2, 1), background .45s, border-color .45s; }
.fl:hover, .fl:focus-visible { transform: translateY(-6px); background: linear-gradient(180deg, rgba(230, 185, 85, .1), rgba(138, 108, 255, .05)); border-color: rgba(230, 185, 85, .3); }
.fl-vis { position: relative; display: grid; place-items: center; height: 190px; border-radius: 18px; overflow: hidden; margin-bottom: 10px;
  background: radial-gradient(circle at 50% 40%, rgba(138, 108, 255, .22), rgba(10, 14, 44, .8) 70%); }
.fl-vis img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2, .7, .2, 1); }
.fl-vis img.fit { object-fit: contain; padding: 18px; mix-blend-mode: lighten; }
.fl:hover .fl-vis img { transform: scale(1.06); }
.fl-vis .eco, .fl-vis .fara { width: 92%; max-height: 180px; }
.fl-vis .ic-l { width: 76px; height: 76px; }
.fl .tag, .fl-t, .fl-d, .fl-more { padding-inline: 8px; }
.fl-t { font-size: 1.22rem; font-weight: 600; color: var(--text); }
.fl-d { color: var(--muted); font-size: .92rem; line-height: 1.5; }
.fl-more { margin-top: auto; padding-top: 8px; color: var(--gold); font-size: .86rem; font-weight: 500; display: inline-flex; gap: 6px; }
.fl:hover .fl-more .arr { transform: translateX(4px); }
.fl-more .arr { transition: transform .3s; }
.fl-accent .fl-vis { background: radial-gradient(circle at 50% 45%, rgba(230, 185, 85, .35), rgba(10, 14, 44, .85) 70%); }
.fl-accent .ic-l svg { animation: spin 14s linear infinite; }

/* ---------- Prečo my: ukážka generatívna vs. deterministická AI ---------- */
.duel { border-radius: 28px; padding: clamp(20px, 4vw, 40px); background: linear-gradient(160deg, rgba(138, 108, 255, .12), rgba(10, 14, 44, .75) 55%, rgba(230, 185, 85, .08)); border: 1px solid var(--line); }
.duel-q { display: flex; align-items: center; gap: 12px; font-size: clamp(1.1rem, 2.2vw, 1.45rem); font-weight: 500; }
.duel-q .ic-in svg { width: 22px; height: 22px; color: var(--gold); }
.duel-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.duel-c { border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.duel-c.gen { background: rgba(255, 255, 255, .03); border: 1px dashed rgba(164, 168, 200, .35); }
.duel-c.det { background: linear-gradient(160deg, rgba(230, 185, 85, .16), rgba(230, 185, 85, .04)); border: 1px solid rgba(230, 185, 85, .45); box-shadow: 0 0 40px -10px rgba(230, 185, 85, .35); }
.duel-h { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.det .duel-h { color: var(--gold); }
:lang(ar) .duel-h { letter-spacing: 0; font-size: .85rem; }
.duel-a { font-size: clamp(1.15rem, 2.4vw, 1.6rem); font-weight: 600; min-height: 2.6em; }
.gen .duel-a { color: #c9c8de; font-weight: 500; }
.det .duel-a { color: var(--gold-2); font-size: clamp(1.6rem, 3.6vw, 2.4rem); min-height: 0; }
.duel-d { color: #d9d6e8; font-size: .92rem; }
.duel-n { color: var(--muted); font-size: .86rem; display: flex; gap: 8px; align-items: flex-start; }
.duel-n svg { width: 18px; height: 18px; color: var(--gold); flex-shrink: 0; margin-top: 1px; }
.duel-a.flip { animation: wobbleText .6s ease; }
@keyframes wobbleText { 0% { opacity: 0; transform: translateY(8px) rotate(-1deg); filter: blur(4px); } 60% { opacity: 1; filter: blur(0); transform: translateY(-2px) rotate(.5deg); } 100% { transform: none; } }
.det .duel-a.same { animation: lockIn .7s ease; }
@keyframes lockIn { 0% { text-shadow: 0 0 0 transparent; } 40% { text-shadow: 0 0 28px rgba(255, 227, 160, .9); transform: scale(1.04); } 100% { transform: none; } }
.duel-go { display: flex; align-items: center; gap: 16px; margin-top: 22px; flex-wrap: wrap; }
.duel-go .btn { border: 0; cursor: pointer; font: inherit; font-weight: 600; }
.duel-count { color: var(--muted); font-size: .9rem; }
.duel-count b { color: var(--gold-2); }
.why3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: clamp(40px, 6vw, 64px); }
.why3 li { display: flex; flex-direction: column; gap: 10px; }
.why3 h3 { font-size: 1.15rem; font-weight: 600; margin-top: 6px; }
.why3 p { color: var(--muted); font-size: .94rem; }
.build, .proof { margin-top: clamp(36px, 5vw, 56px); }
.chips-b { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.chips-b li { padding: 9px 16px; border-radius: 999px; font-size: .88rem; color: #e9e3cf; background: rgba(230, 185, 85, .07); border: 1px solid rgba(230, 185, 85, .25);
  box-shadow: 0 0 18px -6px rgba(230, 185, 85, .35); animation: chipGlow 4s ease-in-out infinite; }
.chips-b li:nth-child(3n+2) { animation-delay: -1.3s; } .chips-b li:nth-child(3n) { animation-delay: -2.6s; }
@keyframes chipGlow { 50% { box-shadow: 0 0 26px -4px rgba(230, 185, 85, .6); border-color: rgba(230, 185, 85, .5); } }
.proof ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 14px; }
.proof a { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-radius: 16px; text-decoration: none; background: rgba(255, 255, 255, .03); border: 1px solid var(--line); transition: border-color .3s, background .3s; }
.proof a:hover { border-color: rgba(230, 185, 85, .45); background: rgba(230, 185, 85, .06); }
.proof b { color: var(--gold); font-weight: 600; white-space: nowrap; }
.proof span:not(.arr) { color: #cfcfe2; font-size: .88rem; flex: 1; }
.proof .arr { color: var(--gold); }

/* ---------- Kalkulačky ---------- */
.calc { border-radius: 28px; padding: clamp(18px, 3.5vw, 36px); background: linear-gradient(160deg, rgba(10, 14, 44, .85), rgba(17, 23, 67, .6)); border: 1px solid var(--line-2); box-shadow: 0 40px 100px -50px rgba(0, 0, 0, .9); }
.tabs { display: none; }
.tabbed .tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; padding: 5px; border-radius: 999px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); width: fit-content; max-width: 100%; }
.tab { font: inherit; font-size: .88rem; padding: 10px 18px; border-radius: 999px; border: 0; cursor: pointer; color: var(--muted); background: transparent; transition: background .3s, color .3s; }
.tab.on { background: linear-gradient(180deg, var(--gold-2), var(--gold)); color: #1a1203; font-weight: 600; }
.calc-p + .calc-p { margin-top: 40px; }
.tabbed .calc-p + .calc-p { margin-top: 0; }
.calc-p h3 { font-size: clamp(1.3rem, 2.6vw, 1.8rem); }
.calc-p .lead { margin-top: 6px; }
.calc-g { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 4vw, 48px); margin-top: 22px; align-items: start; }
.calc-in { display: grid; gap: 18px; }
.sl { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: baseline; }
.sl-l { color: #d4d3e6; font-size: .9rem; }
.sl output { color: var(--gold-2); font-weight: 600; font-variant-numeric: tabular-nums; }
.sl input { grid-column: 1 / -1; width: 100%; -webkit-appearance: none; appearance: none; height: 6px; border-radius: 999px; cursor: pointer;
  background: linear-gradient(90deg, var(--gold) var(--p, 50%), rgba(255, 255, 255, .12) var(--p, 50%)); }
:dir(rtl) .sl input { background: linear-gradient(270deg, var(--gold) var(--p, 50%), rgba(255, 255, 255, .12) var(--p, 50%)); }
.sl input::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff3cf, var(--gold)); box-shadow: 0 0 0 4px rgba(230, 185, 85, .2), 0 0 16px rgba(230, 185, 85, .7); border: 0; }
.sl input::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff3cf, var(--gold)); box-shadow: 0 0 0 4px rgba(230, 185, 85, .2), 0 0 16px rgba(230, 185, 85, .7); border: 0; }
.calc-out { display: flex; flex-direction: column; gap: 14px; padding: 22px; border-radius: 20px; background: rgba(4, 6, 26, .55); border: 1px solid var(--line); }
.calc-out span { display: block; color: var(--muted); font-size: .84rem; }
.calc-out b { display: block; font-variant-numeric: tabular-nums; }
.big b { font-size: clamp(2rem, 4.5vw, 3rem); color: var(--gold-2); line-height: 1.1; margin-top: 4px; text-shadow: 0 0 30px rgba(230, 185, 85, .45); }
.big b.bad { color: #c9b8ff; text-shadow: none; font-size: 1.4rem; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.two b { font-size: 1.25rem; color: var(--text); margin-top: 2px; }
.two b.gold { color: var(--gold-2); font-size: 1.5rem; text-shadow: 0 0 20px rgba(230, 185, 85, .4); }
.two small { display: block; color: var(--muted); font-size: .72rem; margin-top: 4px; line-height: 1.35; }
.chart-t { color: var(--muted); font-size: .78rem; margin-top: 4px; }
.pchart { width: 100%; height: 170px; }
.pchart .g1 { stop-color: var(--gold); stop-opacity: .45; } .pchart .g2 { stop-color: var(--gold); stop-opacity: .05; }
.pchart .g3 { stop-color: var(--nebula); stop-opacity: .08; } .pchart .g4 { stop-color: var(--nebula); stop-opacity: .45; }
.pchart .area { fill: url(#pg); }
.pchart .zero { stroke: rgba(255, 255, 255, .35); stroke-dasharray: 4 5; vector-effect: non-scaling-stroke; }
.pchart .ln { fill: none; stroke: var(--gold-2); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.pchart .be { fill: var(--gold-2); filter: drop-shadow(0 0 6px var(--gold)); }
.bars { gap: 18px; }
.bar b { font-size: 1.5rem; margin: 2px 0 8px; }
.bar i { display: block; height: 12px; border-radius: 999px; background: linear-gradient(90deg, var(--nebula-2), var(--nebula)); width: 50%; transition: width .5s cubic-bezier(.2, .7, .2, 1); }
.bar.gold b { color: var(--gold-2); }
.bar.gold i { background: linear-gradient(90deg, var(--gold), var(--gold-2)); box-shadow: 0 0 16px rgba(230, 185, 85, .6); }
.calc-note { color: var(--muted); font-size: .8rem; }
.calc-foot { color: var(--muted); font-size: .8rem; margin-top: 20px; text-align: center; }

/* ---------- Podstránky ---------- */
.page-hero { position: relative; overflow-x: clip; isolation: isolate; padding-bottom: 30px; }
.page-hero .kicker { margin-top: 26px; }
.page-hero h1 { margin-top: 12px; font-size: clamp(2.3rem, 5.5vw, 4.2rem); }
.page-hero .lead { max-width: 70ch; font-size: 1.1rem; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 64px); align-items: center; }
.art-box { border-radius: 28px; padding: 26px; background: radial-gradient(circle at 50% 40%, rgba(138, 108, 255, .2), rgba(10, 14, 44, .7) 70%); border: 1px solid var(--line); }
.checks { display: grid; gap: 12px; margin-top: 16px; }
.checks li { display: flex; gap: 12px; align-items: flex-start; color: #dedcee; }
.checks svg { width: 22px; height: 22px; color: var(--gold); flex-shrink: 0; }
.status { display: flex; gap: 10px; margin-top: 24px; padding: 14px 18px; border-radius: 14px; background: rgba(230, 185, 85, .08); border: 1px solid rgba(230, 185, 85, .3); color: var(--gold-2); }
.status svg { width: 20px; height: 20px; flex-shrink: 0; }
.for3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); margin-top: 16px; }
.for3 > li { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.for3 ul { display: grid; gap: 6px; margin-top: 6px; }
.for3 ul li { position: relative; padding-inline-start: 18px; font-size: .9rem; color: #d6d4e6; }
.for3 ul li::before { content: ''; position: absolute; inset-inline-start: 2px; top: .55em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.nav a[aria-current] { color: var(--gold-2); }

@media (max-width: 1080px) {
  .flag { grid-template-columns: repeat(2, 1fr); }
  .calc-g, .two-col { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .flag, .duel-cols, .why3, .proof ul, .for3 { grid-template-columns: 1fr; }
  .fl-vis { height: 170px; }
  .tabbed .tabs { border-radius: 18px; width: 100%; }
  .tab { flex: 1 1 100%; text-align: center; }
}

/* ---------- Prenajatá vs. vlastná AI ---------- */
.vs { border-radius: 26px; overflow: hidden; border: 1px solid var(--line); background: rgba(10, 14, 44, .55); }
.vs-h, .vs-row { display: grid; grid-template-columns: 1fr 2fr 2fr; }
.vs-h span { padding: 18px 20px; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }
:lang(ar) .vs-h span { letter-spacing: 0; font-size: .9rem; }
.vs-h .vs-r { color: var(--muted); }
.vs-h .vs-o { color: #1a1203; background: linear-gradient(180deg, var(--gold-2), var(--gold)); }
.vs-row { border-top: 1px solid var(--line); }
.vs-row > span { padding: 16px 20px; font-size: .93rem; line-height: 1.5; }
.vs-k { color: var(--text); font-weight: 600; }
.vs-row .vs-r { color: #a9abc4; display: flex; gap: 10px; }
.vs-row .vs-r i { font-style: normal; color: #a487ff; font-weight: 700; flex-shrink: 0; }
.vs-row .vs-o { color: #f1ecda; display: flex; gap: 10px; background: linear-gradient(90deg, rgba(230, 185, 85, .1), rgba(230, 185, 85, .03)); }
.vs-row .vs-o svg { width: 20px; height: 20px; color: var(--gold); flex-shrink: 0; }
.vs-row { transition: background .3s; }
.vs-row:hover { background: rgba(138, 108, 255, .06); }
.tiers { margin-top: clamp(36px, 5vw, 56px); }
.tiers ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 14px; }
.tier { padding: 24px; border-radius: 22px; border: 1px solid var(--line); background: rgba(255, 255, 255, .025); display: flex; flex-direction: column; gap: 6px; }
.tier.t0 { border-color: rgba(230, 185, 85, .45); background: linear-gradient(160deg, rgba(230, 185, 85, .12), rgba(10, 14, 44, .5)); box-shadow: 0 0 40px -14px rgba(230, 185, 85, .5); }
.tier-n { color: var(--muted); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; }
:lang(ar) .tier-n { letter-spacing: 0; }
.tier h3 { font-size: 1.15rem; font-weight: 600; margin-top: 2px; }
.tier b { font-size: 1.3rem; color: var(--gold-2); font-weight: 600; }
.tier p { color: #cfd0e4; font-size: .92rem; }
.tiers-note { margin-top: 16px; color: var(--muted); font-size: .9rem; display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.ochart { width: 100%; height: 170px; }
.ochart .lr { fill: none; stroke: var(--nebula); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.ochart .lo { fill: none; stroke: var(--gold-2); stroke-width: 2.5; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 4px rgba(230, 185, 85, .6)); }
.ochart .be { fill: var(--gold-2); filter: drop-shadow(0 0 6px var(--gold)); }
.lg { display: inline-block; width: 14px; height: 3px; border-radius: 2px; vertical-align: middle; margin-inline: 4px 4px; }
.lg-r { background: var(--nebula); } .lg-o { background: var(--gold-2); }
@media (max-width: 1080px) { .tiers ul { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 820px) {
  .vs-h { display: none; }
  .vs-row { grid-template-columns: 1fr; }
  .vs-row > span { padding: 10px 18px; }
  .vs-k { padding-top: 16px !important; }
  .tiers ul { grid-template-columns: 1fr; }
}
.calc-out .chart-t span { display: inline; font-size: inherit; }
.calc-out .chart-t .lg { display: inline-block; }

/* ---------- Laboratórium ---------- */
.badge { display: inline-flex; align-items: center; gap: 6px; width: fit-content; padding: 4px 10px; border-radius: 999px; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-2); background: rgba(230, 185, 85, .08); border: 1px solid rgba(230, 185, 85, .3); }
.badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 8px var(--gold); animation: blinkDot 1.6s ease-in-out infinite; }
@keyframes blinkDot { 50% { opacity: .25; } }
:lang(ar) .badge { letter-spacing: 0; font-size: .78rem; }
.teaser { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.teaser > li { display: flex; }
.tz { display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 14px 14px 22px; border-radius: 24px; text-decoration: none; border: 1px solid transparent; background: linear-gradient(180deg, rgba(255, 255, 255, .03), transparent); transition: transform .45s cubic-bezier(.2, .7, .2, 1), border-color .45s, background .45s; }
.tz:hover, .tz:focus-visible { transform: translateY(-6px); border-color: rgba(230, 185, 85, .3); background: linear-gradient(180deg, rgba(230, 185, 85, .09), rgba(138, 108, 255, .04)); }
.tz-art { display: block; border-radius: 18px; padding: 10px; background: radial-gradient(circle at 50% 45%, rgba(138, 108, 255, .2), rgba(10, 14, 44, .75) 70%); margin-bottom: 4px; }
.tz .badge { margin-inline: 6px; }
.tz-t { font-size: 1.12rem; font-weight: 600; padding-inline: 6px; }
.tz-d { color: var(--muted); font-size: .88rem; padding-inline: 6px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lab-more { margin-top: 26px; }
.lab-g { padding-top: clamp(30px, 5vw, 60px); padding-bottom: clamp(30px, 5vw, 60px); }
.labs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 16px; }
.lb { display: grid; grid-template-columns: 220px 1fr; gap: 22px; align-items: center; padding: 20px; border-radius: 24px; border: 1px solid var(--line); background: linear-gradient(160deg, rgba(138, 108, 255, .07), rgba(10, 14, 44, .6)); scroll-margin-top: 100px; transition: border-color .4s; }
.lb:hover, .lb:target { border-color: rgba(230, 185, 85, .4); }
.labs3 { grid-template-columns: repeat(3, 1fr); }
.labs3 .lb { grid-template-columns: 1fr; align-items: start; }
.lb-art { border-radius: 18px; padding: 10px; background: radial-gradient(circle at 50% 45%, rgba(138, 108, 255, .22), rgba(4, 6, 26, .8) 70%); }
.lb-txt { display: flex; flex-direction: column; gap: 10px; }
.lb-txt h3 { font-size: 1.25rem; font-weight: 600; }
.lb-txt p { color: #cfd0e4; font-size: .93rem; }
.lb-txt ul { display: grid; gap: 6px; }
.lb-txt li { position: relative; padding-inline-start: 18px; font-size: .88rem; color: #dcdaec; }
.lb-txt li::before { content: ''; position: absolute; inset-inline-start: 2px; top: .55em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 8px var(--gold); }

/* animované kresby projektov */
.la { width: 100%; height: auto; display: block; overflow: visible; }
.la path, .la rect, .la circle { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.la-frame { stroke: var(--gold); stroke-width: 2.5; filter: drop-shadow(0 0 6px rgba(230, 185, 85, .5)); }
.la-flow { stroke: var(--nebula-2); stroke-width: 1.6; stroke-dasharray: 6 10; animation: flow 2.2s linear infinite; opacity: .8; }
.la-flow.f1 { animation-duration: 2.8s; stroke: var(--nebula); } .la-flow.f2 { animation-duration: 2s; } .la-flow.f3 { animation-duration: 3.2s; stroke: var(--nebula); }
.la-floor { stroke: rgba(255, 255, 255, .25); stroke-width: 1.5; }
.la-door { transform-origin: 108px 128px; animation: doorSwing 5s ease-in-out infinite; }
.la-door rect { stroke: var(--gold); stroke-width: 2.2; fill: rgba(230, 185, 85, .06); }
.la-door path { stroke: var(--gold-2); stroke-opacity: .5; stroke-width: 1.2; }
@keyframes doorSwing { 0%, 15%, 100% { transform: scaleX(1); } 45%, 60% { transform: scaleX(.35); } }
.la-pivot { fill: var(--gold-2); stroke: none; }
.la-grow { stroke: var(--gold); stroke-width: 2; stroke-dasharray: 220; stroke-dashoffset: 220; animation: grow 4.5s ease-in-out infinite; }
.la-grow.g1 { animation-delay: .3s; stroke: var(--gold-2); } .la-grow.g2 { animation-delay: .6s; stroke: var(--nebula); } .la-grow.g3 { animation-delay: .9s; }
@keyframes grow { 60%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 0; opacity: 0; } }
.la-seat { stroke: var(--gold-2); stroke-width: 3; }
.la-bed { stroke: rgba(255, 255, 255, .3); stroke-width: 2; }
.la-layer { stroke: var(--gold); stroke-width: 6; opacity: 0; animation: layer 6s ease-out infinite; }
.la-layer.l1 { animation-delay: .8s; } .la-layer.l2 { animation-delay: 1.6s; } .la-layer.l3 { animation-delay: 2.4s; } .la-layer.l4 { animation-delay: 3.2s; } .la-layer.l5 { animation-delay: 4s; }
@keyframes layer { 0% { opacity: 0; } 8%, 90% { opacity: .85; } 100% { opacity: 0; } }
.la-nozzle { animation: nozzle 1.6s ease-in-out infinite alternate; }
.la-nozzle path { fill: var(--bg-3); stroke: var(--gold-2); stroke-width: 1.5; } .la-nozzle circle { fill: var(--gold-2); stroke: none; }
@keyframes nozzle { from { transform: translateX(-55px); } to { transform: translateX(55px); } }
.la-mast { stroke: rgba(255, 255, 255, .45); stroke-width: 3; }
.la-rotor { transform-origin: 120px 75px; animation: spin 3s linear infinite; }
.la-rotor path { fill: rgba(230, 185, 85, .25); stroke: var(--gold); stroke-width: 1.6; }
.la-hub { fill: var(--gold-2); stroke: none; }
.la-wind { stroke: var(--nebula-2); stroke-width: 1.6; stroke-dasharray: 8 8; animation: flow 1.6s linear infinite; }
.la-zone { stroke: var(--gold); stroke-width: 1.5; stroke-dasharray: 4 6; animation: flow 6s linear infinite; }
.la-swarm .orb { transform-origin: 120px 75px; animation: spin 9s linear infinite; }
.la-swarm .o1 { animation-delay: -3s; } .la-swarm .o2 { animation-delay: -6s; }
.la-swarm circle { fill: var(--bg-3); stroke: var(--gold-2); stroke-width: 1.5; }
.la-swarm path { stroke: var(--gold); stroke-width: 1.5; }
.la-in { fill: #ff8b6b; stroke: none; animation: blinkDot 1.2s ease-in-out infinite; }
.la-wave { stroke: var(--nebula-2); stroke-width: 2; animation: wave 2.4s linear infinite; }
.la-wave.v1 { stroke: var(--nebula); } .la-wave.v2 { animation-duration: 3s; }
.la-wall { fill: rgba(230, 185, 85, .2); stroke: var(--gold); stroke-width: 2; }
.la-quiet { stroke: rgba(255, 255, 255, .2); stroke-width: 1.5; stroke-dasharray: 2 8; }
.la-room { stroke: var(--gold); stroke-width: 1.8; }
.la-ring { stroke: var(--nebula); stroke-width: 1.6; transform-box: fill-box; transform-origin: center; animation: ring 2.6s ease-out infinite; }
.la-ring.r1 { animation-delay: .6s; } .la-ring.r2 { animation-delay: 1.2s; }
@keyframes ring { 0% { opacity: 0; transform: scale(.6); } 30% { opacity: .9; } 100% { opacity: 0; transform: scale(1.15); } }
.la-mic { stroke: var(--gold-2); stroke-width: 1.8; }
.la-atom { fill: var(--nebula); stroke: none; animation: atom 3s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.la-atom.a1 { fill: var(--gold); animation-delay: -1s; } .la-atom.a2 { fill: var(--nebula-2); animation-delay: -2s; }
@keyframes atom { 50% { transform: scale(1.6); opacity: .5; } }

/* ukážka okna na mieru */
.wdemo { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(20px, 4vw, 48px); align-items: center; margin-top: 30px; padding: clamp(20px, 3.5vw, 36px); border-radius: 28px; border: 1px solid var(--line-2); background: linear-gradient(160deg, rgba(10, 14, 44, .85), rgba(17, 23, 67, .55)); }
.wd-txt { display: grid; gap: 16px; }
.wd-txt h3 { font-size: clamp(1.3rem, 2.6vw, 1.7rem); }
.wd-svg { width: 100%; height: auto; border-radius: 20px; background: radial-gradient(circle at 50% 60%, rgba(138, 108, 255, .18), rgba(4, 6, 26, .7) 70%); }
.wd-shape { fill: rgba(230, 185, 85, .08); stroke: var(--gold); stroke-width: 3; filter: drop-shadow(0 0 10px rgba(230, 185, 85, .55)); transition: d .35s; }
.wd-inner { fill: none; stroke: var(--gold-2); stroke-opacity: .45; stroke-width: 1.2; transition: d .35s; }
.wd-flow { fill: none; stroke: var(--nebula-2); stroke-width: 1.8; stroke-dasharray: 8 10; animation: flow 2s linear infinite; transition: d .35s; }
.wd-flow.f2 { stroke: var(--nebula); animation-duration: 2.6s; } .wd-flow.f3 { animation-duration: 3.2s; opacity: .7; }

@media (max-width: 1080px) { .teaser { grid-template-columns: repeat(2, 1fr); } .labs, .labs3 { grid-template-columns: 1fr; } .labs3 .lb { grid-template-columns: 220px 1fr; } }
@media (max-width: 680px) { .teaser { grid-template-columns: 1fr; } .lb, .labs3 .lb { grid-template-columns: 1fr; } .wdemo { grid-template-columns: 1fr; } }
.la-em { overflow: hidden; }

/* ---------- Animované kresby: kroky, technológie, publikácie, MIA ---------- */
.mt16 { margin-top: 16px; }
.fl-vis img.pos-top { object-position: 50% 18%; }
.pipe { position: relative; }
.pipe::before { content: ''; position: absolute; top: 70px; inset-inline: 6%; height: 2px; background: linear-gradient(90deg, transparent, var(--gold) 20%, var(--nebula) 80%, transparent); opacity: .35; z-index: -1; }
.pipe::after { content: ''; position: absolute; top: 66px; inset-inline-start: 6%; width: 10px; height: 10px; border-radius: 50%; background: var(--gold-2); box-shadow: 0 0 16px var(--gold); animation: pipeRun 6s ease-in-out infinite; z-index: -1; }
@keyframes pipeRun { from { inset-inline-start: 6%; } to { inset-inline-start: 93%; } }
.step-art { height: 80px; margin: -6px 0 6px; }
.sa { width: 120px; height: 80px; overflow: visible; }
.sa path, .sa circle { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sa-dot { fill: var(--nebula) !important; animation: atom 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.sa-dot.d2 { animation-delay: -.6s; } .sa-dot.d3 { animation-delay: -1.2s; } .sa-dot.d4 { animation-delay: -1.8s; }
.sa-lens { animation: lens 5s ease-in-out infinite; }
.sa-lens circle, .sa-lens path { stroke: var(--gold-2); stroke-width: 3; }
@keyframes lens { 0%, 100% { transform: translate(34px, 30px); } 33% { transform: translate(72px, 24px); } 66% { transform: translate(54px, 52px); } }
.sa-n { fill: var(--nebula) !important; } .sa-n.n1 { fill: var(--gold) !important; } .sa-n.n2 { fill: var(--nebula-2) !important; }
.sa-l { stroke: var(--gold); stroke-width: 1.4; stroke-dasharray: 3 5; animation: flow 1.6s linear infinite; opacity: .7; }
.sa-l.l1 { animation-duration: 2.2s; } .sa-l.l2 { stroke: var(--nebula); } .sa-l.l3 { animation-duration: 1.2s; }
.sa-cube path { stroke: var(--gold); stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: assemble 4s ease-in-out infinite; }
.sa-cube .c1 { fill: rgba(230, 185, 85, .25) !important; } .sa-cube .c2 { animation-delay: .25s; fill: rgba(138, 108, 255, .2) !important; } .sa-cube .c3 { animation-delay: .5s; fill: rgba(79, 124, 255, .2) !important; }
@keyframes assemble { 0%, 100% { transform: translateY(-8px); opacity: .3; } 35%, 75% { transform: none; opacity: 1; } }
.sa-axis { stroke: rgba(255, 255, 255, .25); stroke-width: 1.5; }
.sa-up { stroke: var(--gold); stroke-width: 2.5; stroke-dasharray: 130; stroke-dashoffset: 130; animation: draw 4s ease-in-out infinite; }
.sa-tip { fill: var(--gold-2) !important; animation: blink 4s ease-in-out infinite; }
.step { transition: transform .4s, border-color .4s; }
.step:hover .sa { transform: scale(1.08); transition: transform .4s; }

.vis-ta { padding: 26px 26px 0; }
.sol-ta .txt { margin-top: auto; }
.ta { width: 100%; height: auto; max-height: 130px; overflow: visible; }
.ta path, .ta circle, .ta ellipse, .ta rect { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.ta-eu { stroke: var(--gold); stroke-width: 2; fill: rgba(230, 185, 85, .05) !important; }
.ta-star { fill: var(--gold-2) !important; stroke: none; animation: atom 3s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.ta-star.s1 { animation-delay: -1s; } .ta-star.s2 { animation-delay: -2s; }
.ta-lock { stroke: var(--gold-2); stroke-width: 2; }
.ta-n { fill: var(--nebula) !important; stroke: none; animation: atom 2.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.ta-n.n1 { fill: var(--gold) !important; animation-delay: -.8s; } .ta-n.n2 { fill: var(--nebula-2) !important; animation-delay: -1.6s; }
.ta-l { stroke: var(--gold); stroke-width: 1; stroke-dasharray: 3 6; opacity: .55; animation: flow 1.8s linear infinite; }
.ta-l.l1 { stroke: var(--nebula); animation-duration: 2.4s; } .ta-l.l3 { animation-duration: 1.3s; }
.ta-core { fill: var(--gold-2) !important; stroke: none; filter: drop-shadow(0 0 6px var(--gold)); }
.ta-orb { transform-origin: 120px 55px; animation: spin 9s linear infinite; }
.ta-orb ellipse { stroke: var(--nebula); stroke-width: 1.4; } .ta-orb.o1 { animation-duration: 12s; } .ta-orb.o1 ellipse { stroke: var(--gold); } .ta-orb.o2 { animation-duration: 15s; animation-direction: reverse; }
.ta-e { transform-origin: 120px 55px; animation: spin 3s linear infinite; } .ta-e circle { fill: var(--gold-2) !important; stroke: none; }
.ta-bar { fill: rgba(138, 108, 255, .35) !important; stroke: var(--nebula); stroke-width: 1; transform-box: fill-box; transform-origin: bottom; animation: barUp 3s ease-in-out infinite; }
.ta-bar.b1 { animation-delay: -.5s; } .ta-bar.b2 { animation-delay: -1s; fill: rgba(230, 185, 85, .3) !important; stroke: var(--gold); } .ta-bar.b3 { animation-delay: -1.5s; }
@keyframes barUp { 50% { transform: scaleY(.7); } }
.ta-trend { stroke: var(--gold-2); stroke-width: 2.5; stroke-dasharray: 220; stroke-dashoffset: 220; animation: draw 5s ease-in-out infinite; }
.ta-cube { transform-origin: 120px 52px; animation: cubeTurn 6s ease-in-out infinite; }
.ta-cube path { stroke: var(--gold); stroke-width: 2; fill: rgba(230, 185, 85, .08) !important; }
@keyframes cubeTurn { 0%, 100% { transform: rotate(-6deg) scale(.96); } 50% { transform: rotate(6deg) scale(1.04); } }
.ta-scan { stroke: var(--nebula-2); stroke-width: 2; animation: scan 3s ease-in-out infinite; }
@keyframes scan { 0%, 100% { transform: translateY(0); opacity: .2; } 50% { transform: translateY(80px); opacity: 1; } }
.ta-c1 { stroke: var(--nebula); stroke-width: 2.5; stroke-dasharray: 240; stroke-dashoffset: 240; animation: draw 5s ease-in-out infinite; }
.ta-c2 { stroke: var(--gold); stroke-width: 2.5; stroke-dasharray: 240; stroke-dashoffset: 240; animation: draw 5s ease-in-out infinite .4s; }
.ta-meet { fill: var(--gold-2) !important; stroke: none; animation: blink 5s ease-in-out infinite; }
.ta-q { fill: var(--nebula) !important; stroke: none; animation: atom 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.ta-q.q1 { fill: var(--gold) !important; animation-delay: -.6s; } .ta-q.q2 { animation-delay: -1.2s; } .ta-q.q3 { fill: var(--gold) !important; animation-delay: -1.8s; }
.ta-bond { stroke: var(--gold); stroke-width: 1.4; stroke-dasharray: 4 6; animation: flow 2s linear infinite; opacity: .7; }
.paper-art { border-radius: 16px; padding: 12px; background: radial-gradient(circle at 50% 45%, rgba(138, 108, 255, .18), rgba(4, 6, 26, .6) 70%); }

.ma { width: 92%; height: auto; max-height: 180px; overflow: visible; }
.ma-coin { fill: rgba(230, 185, 85, .18); stroke: var(--gold); stroke-width: 3; filter: drop-shadow(0 0 12px rgba(230, 185, 85, .55)); }
.ma-coin2 { fill: none; stroke: var(--gold-2); stroke-opacity: .6; stroke-width: 1.2; }
.ma-t { fill: var(--gold-2); font: 700 17px var(--sans); letter-spacing: .08em; }
.ma-w { fill: none; stroke: var(--nebula-2); stroke-width: 2.5; stroke-linecap: round; opacity: 0; animation: fwave 3.2s ease-out infinite; }
.ma-w.w1 { animation-delay: .25s; } .ma-w.w2 { animation-delay: .5s; }
.ma-phone { animation: tap 3.2s ease-in-out infinite; }
.ma-phone rect { fill: var(--bg-3); stroke: var(--gold-2); stroke-width: 2; }
.ma-phone path { stroke: var(--nebula); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 16; animation: type 3.2s steps(4) infinite; }
@keyframes tap { 0%, 100% { transform: translateX(16px); } 30%, 70% { transform: translateX(-6px); } }
.why3 .ic svg { animation: float 5s ease-in-out infinite; }
.why3 li:nth-child(2) .ic svg { animation-delay: -1.6s; } .why3 li:nth-child(3) .ic svg { animation-delay: -3.2s; }
@media (max-width: 1080px) { .pipe::before, .pipe::after { display: none; } }

/* ---------- Menu na telefóne ---------- */
.burger { display: none; width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--line-2); background: rgba(230, 185, 85, .06); cursor: pointer; flex-direction: column; justify-content: center; align-items: center; gap: 5px; padding: 0; order: 3; }
.burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--gold-2); transition: transform .3s, opacity .3s; }
.menu-open .burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-open .burger span:nth-child(2) { opacity: 0; }
.menu-open .burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 1080px) {
  .burger { display: inline-flex; }
  .top-in { position: relative; }
  .nav { display: flex !important; position: absolute; top: 68px; inset-inline: -16px; flex-direction: column; gap: 0; margin: 0; padding: 10px 16px 18px;
    background: rgba(6, 9, 32, .97); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--line-2);
    box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .9); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .3s, transform .3s, visibility 0s .3s; }
  .nav a { padding: 14px 4px; font-size: 1.05rem; color: var(--text); border-bottom: 1px solid var(--line); }
  .nav a:last-child { border-bottom: 0; }
  .menu-open .nav { opacity: 1; visibility: visible; transform: none; transition: opacity .3s, transform .3s; }
}

/* poznámka k AI Lucy pod tlačidlami */
.lucy-note { display: flex; align-items: center; gap: 12px; margin-top: 18px; max-width: 54ch; color: var(--muted); font-size: .84rem; line-height: 1.45; }
.lucy-note img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; border: 1px solid var(--line-2); flex-shrink: 0; }

/* päť druhov AI */
.spec { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1080px) { .spec { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 380px) { .spec { grid-template-columns: 1fr; } }
.sp-box { stroke: var(--gold); stroke-width: 1.5; }
.sp-tick { stroke: var(--gold-2); stroke-width: 2.2; stroke-dasharray: 14; stroke-dashoffset: 14; animation: tick 4.5s ease-in-out infinite; }
.sp-tick.t1 { animation-delay: .8s; } .sp-tick.t2 { animation-delay: 1.6s; }
@keyframes tick { 15%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 0; opacity: 0; } }
.sp-task { stroke: var(--nebula); stroke-width: 3; stroke-opacity: .7; }

/* cirkadiánne svetlo v laboratóriu */
.la-horizon { stroke: rgba(255, 255, 255, .25); stroke-width: 1.5; }
.la-arc { stroke: rgba(230, 185, 85, .25); stroke-width: 1.2; stroke-dasharray: 3 6; }
.la-sun { offset-path: path('M40 120Q120 0 200 120'); animation: sunMove 8s ease-in-out infinite; }
.la-sun circle { fill: var(--gold-2) !important; stroke: none; animation: sunTone 8s ease-in-out infinite; }
.la-sun path { stroke: var(--gold); stroke-width: 2; animation: sunRays 8s ease-in-out infinite; }
@keyframes sunMove { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@keyframes sunTone { 0%, 100% { fill: #ff9a5a; } 50% { fill: #fff3cf; } }
@keyframes sunRays { 0%, 100% { stroke: #ff9a5a; } 50% { stroke: var(--gold-2); } }
.la-room2 { stroke: var(--nebula); stroke-width: 1.5; fill: rgba(138, 108, 255, .12) !important; animation: roomLight 8s ease-in-out infinite; }
@keyframes roomLight { 0%, 100% { fill: rgba(255, 154, 90, .2); } 50% { fill: rgba(255, 243, 207, .3); } }
.nav .nav-c { display: none; }
@media (max-width: 1080px) { .nav .nav-c { display: block; color: var(--gold); } }

/* Porovnanie nad kalkulačkou */
.calc-why { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: -12px 0 28px; }
.calc-why li { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; color: var(--muted); line-height: 1.5; }
.calc-why li > svg { flex: 0 0 20px; width: 20px; height: 20px; color: var(--gold); margin-top: 2px; }
.calc-why b { display: block; color: var(--text, #f4efe4); font-weight: 600; margin-bottom: 2px; }
@media (max-width: 1080px) { .calc-why { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .calc-why { grid-template-columns: 1fr; gap: 10px; } }

/* Ako pracujeme: jeden riadok */
.sec-tight { padding: clamp(28px, 4vw, 48px) 0; }
.flow { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 18px; }
.flow::before { content: ''; position: absolute; top: 28px; inset-inline: 8%; height: 2px; background: linear-gradient(90deg, transparent, var(--gold) 20%, var(--nebula) 80%, transparent); opacity: .35; }
.flow li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.flow-ic { display: grid; place-items: center; width: 84px; height: 56px; border-radius: 18px; background: radial-gradient(circle at 50% 45%, rgba(138, 108, 255, .22), rgba(10, 14, 44, .9) 70%); }
.flow-ic .sa { width: 72px; height: 48px; }
.flow .n { font-size: .75rem; letter-spacing: .14em; color: var(--gold); }
.flow b { font-weight: 600; font-size: 1rem; }
@media (max-width: 560px) { .flow { grid-template-columns: repeat(2, 1fr); row-gap: 20px; } .flow::before { display: none; } }

/* Laboratórium na úvode: na telefóne posuvník */
@media (max-width: 680px) {
  .teaser { display: flex; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 10px; margin-inline: -16px; padding-inline: 16px; scrollbar-width: none; }
  .teaser::-webkit-scrollbar { display: none; }
  .teaser > li { flex: 0 0 78%; scroll-snap-align: start; }
}

/* Telefón: kratšie Prečo my a vlajkové riešenia */
@media (max-width: 680px) {
  .build { display: none; }
  .fl-vis { height: 140px; }
  .fl-accent .fl-vis { display: none; }
}

/* Pätička: podporili nás */
.partners { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.partners .kicker { font-size: .7rem; }
.pm { text-decoration: none; font-size: 1.15rem; letter-spacing: .04em; color: #cfc6ad; opacity: .8; transition: opacity .3s, color .3s; }
.pm:hover, .pm:focus-visible { opacity: 1; color: var(--gold-2); }
.pm-cide b { font-weight: 800; color: var(--gold); }
.pm-cide { font-weight: 400; }
.pm-md { font-weight: 300; }
.pm-md b { font-weight: 700; color: var(--gold); }
@media (min-width: 761px) { .press-t .tag { flex: 0 0 250px; white-space: normal; } }
.pm img { display: block; height: 36px; width: auto; }
.pm { opacity: .75; }

/* Laboratórium: živá stena z mikrorias (deň: zelená, noc: modrozelená žiara) */
.la-panel { stroke: rgba(230, 185, 85, .35); stroke-width: 1.2; fill: rgba(10, 14, 44, .5) !important; }
.la-tube { stroke: #4fbf7a; stroke-width: 7; stroke-linecap: round; fill: none; opacity: .85; animation: algaeDay 10s ease-in-out infinite; }
.la-bub { fill: rgba(255, 255, 255, .7) !important; stroke: none; animation: bubbleUp 3s linear infinite; }
.la-bub.b1 { animation-delay: -1s; } .la-bub.b2 { animation-delay: -2s; }
.la-o2 { stroke: var(--gold-2); stroke-width: 1.5; fill: none; stroke-linecap: round; animation: o2 3s ease-in-out infinite; }
@keyframes algaeDay { 0%, 45% { stroke: #4fbf7a; filter: none; } 55%, 90% { stroke: #3fd5ff; filter: drop-shadow(0 0 6px #3fd5ff); } 100% { stroke: #4fbf7a; filter: none; } }
@keyframes bubbleUp { from { transform: translateY(0); opacity: 0; } 20% { opacity: 1; } to { transform: translateY(-22px); opacity: 0; } }
@keyframes o2 { 0%, 100% { opacity: .2; transform: translateX(0); } 50% { opacity: 1; transform: translateX(4px); } }
@media (prefers-reduced-motion: reduce) { .la-tube, .la-bub, .la-o2 { animation: none; } }
@media (min-width: 1081px) { .labs:not(.labs3) > .lb:last-child:nth-child(odd) { grid-column: 1 / -1; grid-template-columns: 320px 1fr; } }

/* Laboratórium: bio-adaptívna hardvérová bezpečnosť */
.la-hy { stroke: var(--nebula); stroke-width: 1.4; fill: none; stroke-linecap: round; stroke-dasharray: 120; stroke-dashoffset: 120; animation: hyGrow 6s ease-in-out infinite; }
.la-hy.h1 { animation-delay: -2s; } .la-hy.h2 { animation-delay: -4s; }
.la-nd { fill: var(--gold-2) !important; stroke: none; animation: ndPulse 3s ease-in-out infinite; }
.la-nd.n1 { animation-delay: -1s; } .la-nd.n2 { animation-delay: -2s; }
.la-lock rect, .la-lock path { stroke: var(--gold); stroke-width: 2; fill: rgba(10, 14, 44, .85) !important; }
.la-lock path { fill: none !important; }
.la-probe { stroke: #ff6b6b; stroke-width: 2; stroke-linecap: round; animation: probe 6s ease-in-out infinite; }
.la-biosec .la-net { animation: netAlarm 6s ease-in-out infinite; }
@keyframes hyGrow { 0% { stroke-dashoffset: 120; } 40%, 100% { stroke-dashoffset: 0; } }
@keyframes ndPulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
@keyframes probe { 0%, 55% { transform: translate(0, 0); opacity: 0; } 65% { opacity: 1; } 78% { transform: translate(-24px, 24px); opacity: 1; } 85%, 100% { transform: translate(-24px, 24px); opacity: 0; } }
@keyframes netAlarm { 0%, 76% { filter: none; } 80%, 88% { filter: drop-shadow(0 0 6px #ff6b6b) hue-rotate(120deg); } 100% { filter: none; } }
@media (prefers-reduced-motion: reduce) { .la-hy, .la-nd, .la-probe, .la-biosec .la-net { animation: none; stroke-dashoffset: 0; } }

/* Laboratórium: fyzika v nasnímanom priestore */
.la-room3 { stroke: rgba(230, 185, 85, .45); stroke-width: 1.2; fill: none !important; stroke-linejoin: round; }
.la-warm { fill: rgba(255, 120, 80, .28) !important; stroke: none; filter: blur(6px); animation: heat 6s ease-in-out infinite; }
.la-cool { fill: rgba(79, 124, 255, .3) !important; stroke: none; filter: blur(6px); animation: heat 6s ease-in-out infinite reverse; }
.la-air { stroke: #9fe3ff; stroke-width: 1.5; fill: none; stroke-linecap: round; stroke-dasharray: 6 8; animation: air 2.4s linear infinite; opacity: .85; }
.la-air.a1 { animation-duration: 3s; } .la-air.a2 { animation-duration: 3.6s; }
.la-scan { stroke: var(--gold-2); stroke-width: 2; opacity: 0; animation: scanY 6s ease-in-out infinite; }
@keyframes heat { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes air { to { stroke-dashoffset: -28; } }
@keyframes scanY { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: .9; } 45% { transform: translateY(80px); opacity: .9; } 55%, 100% { transform: translateY(80px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .la-warm, .la-cool, .la-air, .la-scan { animation: none; } }

/* pozície uzlov siete (generované) */
.cn-0{left:50.0%;top:8.8%}
.cn-1{left:68.6%;top:13.5%}
.cn-2{left:82.9%;top:26.6%}
.cn-3{left:89.7%;top:45.0%}
.cn-4{left:87.4%;top:64.6%}
.cn-5{left:76.5%;top:80.9%}
.cn-6{left:59.6%;top:90.1%}
.cn-7{left:40.4%;top:90.1%}
.cn-8{left:23.5%;top:80.9%}
.cn-9{left:12.6%;top:64.6%}
.cn-10{left:10.3%;top:45.0%}
.cn-11{left:17.1%;top:26.6%}
.cn-12{left:31.4%;top:13.5%}
