:root{
  --night:#070C16;
  --night-2:#0B1322;
  --panel:#0E1828;
  --line:#1C2B45;
  --line-soft:#152238;
  --text:#E9EEF7;
  --muted:#93A1B8;
  --faint:#5E6C84;
  --brass:#E8A33D;
  --brass-soft:rgba(232,163,61,.14);
  --on-brass:#070C16;
  --up:#3CE3A7;
  --up-soft:rgba(60,227,167,.12);
  --down:#FF5D5D;
  --down-soft:rgba(255,93,93,.12);
  --nav-bg:rgba(7,12,22,.82);
  --card-bg:rgba(14,24,40,.55);
  --elev-bg:linear-gradient(180deg,#0E1828,#0B1322);
  --elev-shadow:0 30px 80px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.02);
  --input-bg:rgba(7,12,22,.7);
  --node-fill:rgba(7,12,22,.85);
  --node-label:#C9D4E6;
  --lane:#22344F;
  --lane-up:rgba(60,227,167,.5);
  --lane-gold:rgba(232,163,61,.65);
  --lane-down:rgba(255,93,93,.55);
  --radius:14px;
  --maxw:1120px;
}
[data-theme="light"]{
  --night:#F3F5FA;
  --night-2:#FFFFFF;
  --panel:#FFFFFF;
  --line:#D6DEEC;
  --line-soft:#E5EAF4;
  --text:#13203A;
  --muted:#4E5D78;
  --faint:#8A96AC;
  --brass:#C77F1A;
  --brass-soft:rgba(199,127,26,.13);
  --on-brass:#221703;
  --up:#0E9F6E;
  --up-soft:rgba(14,159,110,.12);
  --down:#D93636;
  --down-soft:rgba(217,54,54,.1);
  --nav-bg:rgba(243,245,250,.86);
  --card-bg:#FFFFFF;
  --elev-bg:#FFFFFF;
  --elev-shadow:0 22px 60px rgba(23,43,77,.14);
  --input-bg:#F6F8FC;
  --node-fill:#FFFFFF;
  --node-label:#2A3A57;
  --lane:#C7D2E5;
  --lane-up:rgba(14,159,110,.6);
  --lane-gold:rgba(199,127,26,.7);
  --lane-down:rgba(217,54,54,.55);
}
[data-theme="light"] .orb-1{background:radial-gradient(circle, rgba(199,127,26,.15), transparent 65%)}
[data-theme="light"] .orb-2{background:radial-gradient(circle, rgba(58,110,200,.13), transparent 65%)}
[data-theme="light"] .orb-3{background:radial-gradient(circle, rgba(14,159,110,.09), transparent 65%)}
[data-theme="light"] .grid-layer{background-image:linear-gradient(rgba(35,60,110,.07) 1px, transparent 1px),linear-gradient(90deg, rgba(35,60,110,.07) 1px, transparent 1px)}
[data-theme="light"] .noise{opacity:.035}
[data-theme="light"] .step-num{-webkit-text-stroke:1px rgba(199,127,26,.6)}
[data-theme="light"] .check-list li::before{box-shadow:0 0 6px rgba(14,159,110,.4)}
[data-theme="light"] .check-list.ask li::before{box-shadow:0 0 6px rgba(199,127,26,.4)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--night);
  color:var(--text);
  font-family:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;
  line-height:1.7;
  overflow-x:hidden;
}
::selection{background:var(--brass);color:var(--on-brass)}

/* ---------- pozadí: parallax vrstvy ---------- */
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform}
.orb-1{width:62vw;height:62vw;max-width:880px;max-height:880px;top:-22vw;right:-18vw;
  background:radial-gradient(circle, rgba(232,163,61,.13), transparent 65%)}
.orb-2{width:52vw;height:52vw;max-width:760px;max-height:760px;top:55vh;left:-22vw;
  background:radial-gradient(circle, rgba(46,108,205,.16), transparent 65%)}
.orb-3{width:44vw;height:44vw;max-width:640px;max-height:640px;top:135vh;right:-12vw;
  background:radial-gradient(circle, rgba(60,227,167,.07), transparent 65%)}
.grid-layer{
  position:absolute;inset:-20% 0;
  background-image:
    linear-gradient(rgba(150,170,205,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(150,170,205,.05) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 28%, black 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 28%, black 30%, transparent 75%);
  will-change:transform;
}
.noise{
  position:absolute;inset:0;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- layout ---------- */
.wrap{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{padding:96px 0}
.eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brass);
}
h1,h2,h3{font-family:'Bricolage Grotesque','Instrument Sans',sans-serif;line-height:1.08;letter-spacing:-.015em}
h2{font-size:clamp(1.9rem,4.4vw,2.7rem);font-weight:700;margin:14px 0 18px}
.lead{color:var(--muted);max-width:620px}
.mono{font-family:'JetBrains Mono',monospace}

/* ---------- nav ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:10;
  padding:18px 24px;display:flex;align-items:center;justify-content:space-between;
  transition:background .3s,border-color .3s,padding .3s;
  border-bottom:1px solid transparent;
}
nav.scrolled{background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line-soft);padding:13px 24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--up);box-shadow:0 0 10px var(--up);animation:breathe 2.6s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.45}}
.brand-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:1.18rem;letter-spacing:-.01em}
.nav-cta{
  font-family:'JetBrains Mono',monospace;font-size:.78rem;font-weight:500;letter-spacing:.06em;
  color:var(--brass);text-decoration:none;border:1px solid rgba(232,163,61,.35);
  padding:8px 16px;border-radius:99px;transition:background .2s,color .2s;
}
.nav-cta:hover{background:var(--brass);color:var(--on-brass)}
.nav-right{display:flex;align-items:center;gap:10px}
.theme-btn{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--line);
  background:transparent;color:var(--muted);cursor:pointer;
  display:grid;place-items:center;font-size:1rem;line-height:1;
  transition:border-color .2s,color .2s,transform .2s;
}
.theme-btn:hover{border-color:var(--brass);color:var(--brass);transform:rotate(15deg)}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:flex;align-items:center;padding:130px 0 70px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.7rem,6.6vw,4.6rem);font-weight:800;margin:18px 0 22px}
.hero h1 .accent{color:var(--brass)}
.hero .lead{font-size:1.12rem;margin-bottom:34px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{
  display:inline-block;text-decoration:none;font-weight:600;font-size:.98rem;
  padding:14px 26px;border-radius:99px;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;
}
.btn-primary{background:var(--brass);color:var(--on-brass);box-shadow:0 6px 28px rgba(232,163,61,.22)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 34px rgba(232,163,61,.32)}
.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-ghost{color:var(--text);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass)}
.hero-note{margin-top:26px;font-size:.88rem;color:var(--faint)}
.hero-note b{color:var(--muted);font-weight:600}

/* ---------- simulace (signature) ---------- */
.sim{
  background:var(--elev-bg);
  border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--elev-shadow);
  overflow:hidden;
}
.sim-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 18px;border-bottom:1px solid var(--line-soft);
  font-family:'JetBrains Mono',monospace;
}
.sim-title{color:var(--faint);font-size:.72rem;letter-spacing:.08em}
.pill{
  font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:700;letter-spacing:.1em;
  padding:5px 12px;border-radius:99px;white-space:nowrap;
  transition:background .3s,color .3s;
}
.pill.ok{background:var(--up-soft);color:var(--up)}
.pill.bad{background:var(--down-soft);color:var(--down)}
.pill.flip{background:var(--brass-soft);color:var(--brass)}
.sim-stage{padding:12px 8px 2px}
.sim svg{display:block;width:100%;height:auto}
.n-box{fill:var(--node-fill);stroke:var(--line);stroke-width:1.2;transition:stroke .35s,fill .35s}
.n-box.live{stroke:var(--lane-up)}
.n-box.dead{stroke:var(--lane-down)}
.n-box.gold{stroke:var(--lane-gold)}
.n-label{fill:var(--node-label);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.05em}
.n-sub{fill:var(--faint);font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.08em}
.n-dot{fill:var(--up);transition:fill .35s}
.n-dot.dead{fill:var(--down)}
.n-dot.gold{fill:var(--brass)}
.tdot{fill:var(--up)}
.tdot.amber{fill:var(--brass)}
.lane{fill:none;stroke:var(--lane);stroke-width:1.4;transition:stroke .35s,opacity .35s}
.lane.active{stroke:var(--lane-up)}
.lane.gold{stroke:var(--lane-gold)}
.lane.dead{stroke:var(--lane-down);stroke-dasharray:4 5}
.ring{fill:none;stroke:var(--brass);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
@keyframes ringpulse{0%{opacity:.85;transform:scale(.45)}100%{opacity:0;transform:scale(1.5)}}
.ring.go{animation:ringpulse 1s ease-out 2}
.sim-cap{
  padding:13px 18px 16px;border-top:1px solid var(--line-soft);
  min-height:66px;display:flex;align-items:center;gap:11px;
}
.cap-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--up);box-shadow:0 0 8px rgba(60,227,167,.5);transition:background .3s}
.sim-cap p{font-size:.85rem;color:var(--muted);line-height:1.45;margin:0}
.sim-cap p b{color:var(--text);font-weight:600}

/* ---------- ribbon ---------- */
.ribbon{
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  padding:16px 0;
}
.ribbon-inner{
  display:flex;gap:14px 38px;flex-wrap:wrap;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.14em;color:var(--faint);text-transform:uppercase;
}
.ribbon-inner span b{color:var(--brass);font-weight:500}

/* ---------- heartbeat divider ---------- */
.pulse-wrap{padding:10px 0;overflow:hidden}
.pulse{display:block;width:100%;height:64px}
.pulse path{
  fill:none;stroke:var(--up);stroke-width:1.6;opacity:.55;
  stroke-dasharray:1;stroke-dashoffset:1;
}

/* ---------- problém ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.stat-cards{display:grid;gap:14px}
.stat-card{
  background:var(--card-bg);border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:20px 22px;transition:border-color .25s,transform .25s;
}
.stat-card:hover{border-color:var(--line);transform:translateY(-2px)}
.stat-card .mono{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.stat-card p{color:var(--muted);font-size:.94rem;margin-top:8px}
.stat-card p b{color:var(--text);font-weight:600}

/* ---------- kroky ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.step{
  background:var(--card-bg);border:1px solid var(--line-soft);border-radius:var(--radius);
  padding:28px 24px;position:relative;overflow:hidden;transition:border-color .25s,transform .25s;
}
.step:hover{border-color:rgba(232,163,61,.4);transform:translateY(-3px)}
.step-num{
  font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:2.6rem;
  color:transparent;-webkit-text-stroke:1px rgba(232,163,61,.5);line-height:1;
}
.step h3{font-size:1.22rem;font-weight:700;margin:16px 0 10px}
.step p{color:var(--muted);font-size:.94rem}
.step .tag{
  display:inline-block;margin-top:16px;font-family:'JetBrains Mono',monospace;
  font-size:.66rem;letter-spacing:.08em;color:var(--faint);
  border:1px solid var(--line-soft);border-radius:6px;padding:5px 9px;
}

/* ---------- na rovinu ---------- */
.honest{border-top:1px solid var(--line-soft)}
.honest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.honest-card{border-left:2px solid var(--brass);padding:6px 0 6px 22px}
.honest-card .mono{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.honest-card h3{font-size:1.1rem;font-weight:700;margin:10px 0 8px}
.honest-card p{color:var(--muted);font-size:.92rem}

/* ---------- pilot ---------- */
.pilot{border-top:1px solid var(--line-soft)}
.pilot-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px;align-items:start}
.check-list{list-style:none;display:grid;gap:14px}
.check-list li{display:flex;gap:13px;color:var(--muted);font-size:.96rem}
.check-list li::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--up);margin-top:9px;flex-shrink:0;box-shadow:0 0 8px rgba(60,227,167,.6)}
.check-list.ask li::before{background:var(--brass);box-shadow:0 0 8px rgba(232,163,61,.5)}
.list-label{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:18px}
.check-list li b{color:var(--text);font-weight:600}

.form-card{
  background:var(--elev-bg);
  border:1px solid var(--line);border-radius:var(--radius);padding:32px 30px;
  box-shadow:var(--elev-shadow);
}
.form-card h3{font-size:1.3rem;font-weight:700;margin-bottom:6px}
.form-card .sub{color:var(--faint);font-size:.86rem;margin-bottom:24px}
.field{margin-bottom:16px}
.field label{display:block;font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}
.field input,.field textarea{
  width:100%;background:var(--input-bg);border:1px solid var(--line);border-radius:9px;
  color:var(--text);font-family:'Instrument Sans',sans-serif;font-size:.95rem;
  padding:12px 14px;transition:border-color .2s;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--brass)}
.field textarea{resize:vertical;min-height:84px}
.form-card .btn{width:100%;text-align:center;border:none;cursor:pointer;font-family:'Instrument Sans',sans-serif}
.form-alt{margin-top:16px;text-align:center;font-size:.84rem;color:var(--faint)}
.form-alt a{color:var(--brass);text-decoration:none}
.form-alt a:hover{text-decoration:underline}

/* honeypot: kompletně schované od uživatelů a screen readerů, ale viditelné pro hloupé boty */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.form-status{
  margin-top:14px;font-size:.88rem;line-height:1.5;min-height:1.5em;text-align:center;
}
.form-status.ok{color:var(--up)}
.form-status.err{color:var(--down)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line-soft);padding:40px 0 48px}
.foot-inner{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center;color:var(--faint);font-size:.85rem}
.foot-inner a{color:var(--muted);text-decoration:none}
.foot-inner a:hover{color:var(--brass)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* ---------- responsive ---------- */
@media(max-width:920px){
  section{padding:72px 0}
  .hero{padding:110px 0 56px;min-height:auto}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .two-col,.pilot-grid{grid-template-columns:1fr;gap:36px}
  .steps,.honest-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  body{font-size:16px}
  .sim-cap{min-height:74px}
  .sim-cap p{font-size:.8rem}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .orb,.grid-layer{transform:none!important}
  .brand-dot{animation:none}
  .ring{animation:none!important}
  .pulse path{stroke-dashoffset:0!important}
  *{transition-duration:.01ms!important}
}