/* ===== Showcase / Hub – Werbe-Look ===== */
:root{--acc:#4444ff;--acc2:#00e5ff;--acc3:#b44cff}
html{scroll-behavior:smooth}
body.showcase{display:block;min-height:100vh}
body.showcase .navbar{background:rgba(0,0,0,.55)}
body.is-hub .nav-links a.nav-hub{color:var(--acc2)}

/* Glühende Orbs */
.orb{transition:opacity 1s;position:fixed;border-radius:50%;filter:blur(90px);opacity:.35;z-index:-1;pointer-events:none;animation:orbFloat 18s ease-in-out infinite alternate}
.orb.o1{width:520px;height:520px;background:var(--acc);top:-120px;left:-120px}
.orb.o2{width:460px;height:460px;background:var(--acc3);bottom:-140px;right:-100px;animation-delay:-6s}
.orb.o3{width:360px;height:360px;background:var(--acc2);top:40%;left:55%;opacity:.18;animation-delay:-11s}
@keyframes orbFloat{to{transform:translate(70px,50px) scale(1.15)}}

.sc-section{max-width:1180px;margin:0 auto;padding:6rem 1.5rem}
.hero{min-height:calc(100vh - 70px);display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center;max-width:1280px;margin:0 auto;padding:3rem 1.5rem}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.05);font-size:.85rem;color:#cfd3ff;backdrop-filter:blur(6px)}
.badge i{width:8px;height:8px;border-radius:50%;background:#37ff8b;box-shadow:0 0 10px #37ff8b;animation:pulse 1.6s infinite}
@keyframes pulse{50%{transform:scale(1.7);opacity:.5}}
.hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;margin:1.2rem 0;font-weight:900;letter-spacing:-.03em}
.grad{background:linear-gradient(100deg,var(--acc2),var(--acc),var(--acc3),var(--acc2));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradMove 6s linear infinite}
@keyframes gradMove{to{background-position:300% 0}}
.hero p.lead{font-size:1.2rem;color:#b9bdd6;max-width:34rem;line-height:1.6}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.btn{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.6rem;border-radius:12px;font-weight:700;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);transition:transform .2s,box-shadow .2s,background .2s;overflow:hidden}
.btn:hover{transform:translateY(-3px);background:rgba(255,255,255,.12)}
.btn.primary{background:linear-gradient(135deg,var(--acc),var(--acc3));border-color:transparent;box-shadow:0 8px 30px rgba(68,68,255,.45)}
.btn.primary:hover{box-shadow:0 12px 44px rgba(130,68,255,.7)}
.btn.primary::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:shine 3.5s infinite}
@keyframes shine{60%,100%{left:140%}}

/* ===== Mockup-Fenster (bewusst unscharf / geschwärzt) ===== */
.stage{perspective:1200px;position:relative}
.mock{position:relative;border-radius:18px;background:rgba(14,14,28,.85);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 90px rgba(68,68,255,.35),0 0 0 1px rgba(255,255,255,.03) inset;overflow:hidden;transform-style:preserve-3d;transition:transform .15s ease-out;animation:bob 7s ease-in-out infinite}
@keyframes bob{50%{translate:0 -14px}}
.mock-bar{display:flex;align-items:center;gap:.4rem;padding:.7rem 1rem;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08)}
.mock-bar b{width:10px;height:10px;border-radius:50%;background:#ff5f57}
.mock-bar b:nth-child(2){background:#febc2e}.mock-bar b:nth-child(3){background:#28c840}
.mock-bar span{margin-left:auto;margin-right:auto;font-size:.75rem;color:#7d82a8;letter-spacing:.1em}
.mock-body{display:grid;grid-template-columns:64px 1fr;min-height:340px}
.mock-side{border-right:1px solid rgba(255,255,255,.07);padding:1rem .6rem;display:flex;flex-direction:column;gap:.8rem;align-items:center}
.mock-side i{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.08)}
.mock-side i:first-child{background:linear-gradient(135deg,var(--acc),var(--acc3));animation:pulseGlow 3s infinite}
@keyframes pulseGlow{50%{box-shadow:0 0 22px var(--acc3)}}
.mock-main{padding:1.1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;align-content:start}
.tile{height:84px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);padding:.7rem;position:relative;overflow:hidden}
.tile::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:translateX(-100%);animation:sweep 4s infinite}
.tile:nth-child(2)::before{animation-delay:.5s}.tile:nth-child(3)::before{animation-delay:1s}.tile:nth-child(4)::before{animation-delay:1.5s}.tile:nth-child(5)::before{animation-delay:2s}.tile:nth-child(6)::before{animation-delay:2.5s}
@keyframes sweep{60%,100%{transform:translateX(100%)}}
.tile.wide{grid-column:span 2}
.bar{height:8px;border-radius:6px;background:rgba(255,255,255,.18);margin-bottom:.45rem}
.bar.s{width:45%}.bar.m{width:70%}
.redact{filter:blur(7px);opacity:.9}
.chart{grid-column:span 3;height:130px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden}
.chart svg{width:100%;height:100%;filter:blur(2.5px)}
.chart path{fill:none;stroke:var(--acc2);stroke-width:2.5;stroke-dasharray:600;stroke-dashoffset:600;animation:draw 5s ease-in-out infinite alternate}
.chart path.b{stroke:var(--acc3);animation-delay:.6s}
@keyframes draw{to{stroke-dashoffset:0}}
/* Scanner-Linie */
.scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--acc2),transparent);box-shadow:0 0 18px var(--acc2);top:0;animation:scan 4.5s linear infinite;pointer-events:none}
@keyframes scan{to{top:100%}}
.lock{position:absolute;right:14px;bottom:14px;padding:.35rem .7rem;font-size:.7rem;letter-spacing:.12em;border-radius:8px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.15);color:#9aa0ff}

/* Floating Chips */
.chip{position:absolute;z-index:5;padding:.55rem .9rem;border-radius:12px;font-size:.8rem;background:rgba(20,20,40,.8);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 30px rgba(0,0,0,.5);animation:bob 6s ease-in-out infinite;white-space:nowrap}
.chip.c1{top:-14px;left:-24px;animation-delay:-2s}.chip.c2{bottom:46px;right:-20px;animation-delay:-4s}

/* Marquee */
.marquee{overflow:hidden;border-block:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;gap:3rem;width:max-content;padding:1.1rem 0;animation:marq 28s linear infinite;font-weight:800;font-size:1.3rem;color:#6b7099;text-transform:uppercase;letter-spacing:.08em}
.marquee-track span::after{content:"✦";margin-left:3rem;color:var(--acc)}
@keyframes marq{to{transform:translateX(-50%)}}

/* Sektionen */
.sc-title{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:900;letter-spacing:-.02em;text-align:center;margin-bottom:.8rem}
.sc-sub{text-align:center;color:#a5a9c9;max-width:40rem;margin:0 auto 3.5rem;line-height:1.6}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem}
.feat{position:relative;padding:1.8rem;border-radius:18px;background:rgba(20,20,36,.7);border:1px solid rgba(255,255,255,.08);overflow:hidden;transition:transform .25s,border-color .25s}
.feat::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(120,100,255,.22),transparent 45%);opacity:0;transition:opacity .3s}
.feat:hover{transform:translateY(-6px);border-color:rgba(130,110,255,.5)}
.feat:hover::before{opacity:1}
.feat .ico{font-size:1.8rem;width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,rgba(68,68,255,.35),rgba(180,76,255,.25));margin-bottom:1rem}
.feat h3{font-size:1.2rem;margin-bottom:.5rem}
.feat p{color:#a5a9c9;line-height:1.55;font-size:.95rem}

/* Zahlen */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;text-align:center}
.stat b{display:block;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:900;background:linear-gradient(120deg,#fff,var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:#8b90b5;font-size:.9rem}

/* Geheimnis-Banner */
.secret{position:relative;text-align:center;padding:4rem 1.5rem;border-radius:24px;background:linear-gradient(135deg,rgba(68,68,255,.18),rgba(180,76,255,.12));border:1px solid rgba(255,255,255,.1);overflow:hidden}
.secret h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:1rem}
.secret p{color:#b9bdd6;max-width:36rem;margin:0 auto 2rem;line-height:1.6}
.glitch{position:relative;display:inline-block}
.glitch::before,.glitch::after{content:attr(data-t);position:absolute;inset:0;overflow:hidden}
.glitch::before{color:var(--acc2);animation:gl 3.2s infinite steps(1);clip-path:inset(0 0 60% 0)}
.glitch::after{color:var(--acc3);animation:gl 3.2s infinite steps(1) reverse;clip-path:inset(60% 0 0 0)}
@keyframes gl{0%,92%,100%{transform:translate(0)}93%{transform:translate(-3px,1px)}95%{transform:translate(3px,-1px)}97%{transform:translate(-2px,0)}}

/* Reveal on scroll */
.rv{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}

footer.sc-foot{text-align:center;padding:2.5rem 1rem;color:#6b7099;font-size:.85rem}
footer.sc-foot a{color:#9aa0ff;text-decoration:none}

@media(max-width:900px){.hero{grid-template-columns:1fr;text-align:center;padding-top:2rem}.hero p.lead{margin-inline:auto}.cta-row{justify-content:center}.chip{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* Startseite: erster Bildschirm wie vorher, Rest erst beim Scrollen */
.first-screen{min-height:calc(100vh - 62px)}
.hero.below{min-height:auto;padding-top:6rem;padding-bottom:6rem}
.feat .ico{color:#cfd3ff}
body.home:not(.scrolled) .orb{opacity:0}
