/* ════════════════════════════════════════════
   edvGO · Neon Redesign — site design system
   dunkel · Neon (Grün/Violett) · Scroll-Reveals
   ════════════════════════════════════════════ */
:root{
  --bg:#08080d; --bg-2:#0b0b12; --panel:#101019; --panel-2:#0c0c14;
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --ink:#eef0f6; --dim:#a8aaba; --mute:#6c6e84;
  --neon-g:#74ff3a; --neon-g-deep:#4bd91a;
  --neon-v:#9b6bff; --neon-v-deep:#7a45f0;
  --crt-blue:#2d2ccb; --cream:#ece8d8; --cream-dim:#c7c4b0;
  --glow-g:0 0 18px rgba(116,255,58,.5),0 0 48px rgba(116,255,58,.28);
  --glow-v:0 0 18px rgba(155,107,255,.5),0 0 48px rgba(155,107,255,.28);
  --maxw:1240px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:'Space Grotesk',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden;}
body.intro-lock{overflow:hidden;height:100vh;}
a{color:inherit;text-decoration:none;}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
::selection{background:var(--neon-g);color:#08110a;}

/* ambient neon field on the page */
.page::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(48vw 48vw at 10% 4%, rgba(116,255,58,.06), transparent 60%),
    radial-gradient(54vw 54vw at 94% 90%, rgba(155,107,255,.07), transparent 62%);}

/* ───────── buttons ───────── */
.btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:inherit;font-weight:500;font-size:14.5px;
  padding:12px 22px;border-radius:999px;border:1px solid transparent;transition:.18s;white-space:nowrap;}
.btn.neon{background:var(--neon-g);color:#08110a;border-color:var(--neon-g);box-shadow:0 0 22px rgba(116,255,58,.42);font-weight:600;}
.btn.neon:hover{background:#8bff58;box-shadow:0 0 36px rgba(116,255,58,.7);transform:translateY(-1px);}
.btn.ghost{border-color:var(--line-2);color:#eee;background:rgba(255,255,255,.03);}
.btn.ghost:hover{border-color:var(--neon-g);color:#fff;box-shadow:var(--glow-g);}
.btn.violet{background:var(--neon-v);color:#0a0814;border-color:var(--neon-v);box-shadow:0 0 22px rgba(155,107,255,.45);font-weight:600;}
.btn.violet:hover{background:#ad84ff;box-shadow:0 0 36px rgba(155,107,255,.72);transform:translateY(-1px);}
.btn.signal{background:#3a76f0;color:#fff;border-color:#3a76f0;box-shadow:0 0 22px rgba(58,118,240,.45);font-weight:600;}
.btn.signal:hover{background:#5a8ff5;box-shadow:0 0 36px rgba(58,118,240,.72);transform:translateY(-1px);}
.btn .btn-ico{width:17px;height:17px;flex:0 0 auto;display:block;}

/* ───────── nav ───────── */
#nav{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;align-items:center;gap:24px;
  padding:18px clamp(18px,4vw,40px);transition:background .3s ease,border-color .3s ease,padding .3s ease;
  border-bottom:1px solid transparent;}
#nav.solid{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(12px);border-bottom-color:var(--line);padding-top:12px;padding-bottom:12px;}
#nav .brand img{height:30px;width:auto;filter:brightness(0) invert(1) drop-shadow(0 0 12px rgba(116,255,58,.35));display:block;}
#nav .nav-left{flex:0 0 auto;min-width:0;display:flex;align-items:center;gap:6px;}
#nav .links{display:flex;gap:4px;margin-left:6px;}
#nav .links a{padding:8px 14px;border-radius:999px;font-size:14px;font-weight:500;color:#c2c4d4;transition:.15s;}
#nav .links a:hover{color:#fff;background:rgba(255,255,255,.06);}
#nav .center{flex:1 1 auto;display:flex;justify-content:center;min-width:0;}
#nav .right{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;}
#nav .right .legal-link{font-family:'JetBrains Mono';font-size:11.5px;letter-spacing:.03em;color:var(--mute);padding:8px 11px;border-radius:999px;transition:.15s;white-space:nowrap;}
#nav .right .legal-link:hover{color:#fff;background:rgba(255,255,255,.06);}
@keyframes pulse{50%{opacity:.45}}
@media(max-width:1180px){#nav .links{display:none;}}

/* ───────── hero ───────── */
#hero{position:relative;height:100vh;min-height:600px;overflow:hidden;z-index:1;
  background:radial-gradient(80% 78% at 50% 42%, #3c3c44 0%, #25252c 52%, #15151b 100%);}
#hero{position:relative;height:100vh;min-height:600px;overflow:hidden;z-index:1;
  background:radial-gradient(82% 82% at 58% 40%, #34343d 0%, #22222b 46%, #14141a 78%, #0e0e14 100%);}
#heroZoom{position:absolute;inset:0;transform-origin:0 0;will-change:transform;}
#heroBg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  filter:blur(60px) saturate(1.02);transform:scale(1.22);}
#heroImg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;}
.hglow{position:absolute;border-radius:50%;filter:blur(70px);mix-blend-mode:screen;pointer-events:none;opacity:0;transition:opacity 1.4s ease;}
.hglow.g{width:48vw;height:48vw;left:5%;top:5%;background:radial-gradient(circle,rgba(116,255,58,.8),transparent 65%);animation:floatG 12s ease-in-out infinite;}
.hglow.v{width:54vw;height:54vw;right:3%;bottom:0;background:radial-gradient(circle,rgba(155,107,255,.85),transparent 65%);animation:floatV 14s ease-in-out infinite;}
#hero.lit .hglow{opacity:1;}
@keyframes floatG{50%{transform:translate(4%,5%) scale(1.08)}}
@keyframes floatV{50%{transform:translate(-4%,-4%) scale(1.1)}}
#heroVeil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,4,9,.82) 0%,rgba(4,4,9,.5) 28%,transparent 52%),radial-gradient(120% 95% at 50% 38%,transparent 40%,rgba(4,4,9,.55) 100%);z-index:2;}
#heroCopy{position:absolute;left:clamp(18px,5vw,72px);bottom:clamp(36px,9vh,90px);z-index:6;max-width:min(46vw,540px);}
#heroCopy .eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono';font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--neon-g);margin-bottom:18px;}
#heroCopy .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--neon-g);box-shadow:var(--glow-g);}
#heroCopy h1{font-size:clamp(30px,4.2vw,62px);line-height:1.0;letter-spacing:-.03em;font-weight:600;text-wrap:balance;}
#heroCopy h1 em{font-style:normal;color:var(--neon-g);text-shadow:0 0 24px rgba(116,255,58,.5),0 0 60px rgba(116,255,58,.3);}
#heroCopy h1 em.v{color:var(--neon-v);text-shadow:0 0 24px rgba(155,107,255,.55),0 0 60px rgba(155,107,255,.3);}
#heroCopy p.sub{margin-top:20px;font-size:clamp(14px,1.4vw,18px);line-height:1.55;color:#c4c6d6;max-width:42ch;text-wrap:pretty;}
#heroCopy .cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;}
@media(max-width:900px){#heroCopy{max-width:min(76vw,520px);bottom:26px;}#heroCopy h1{font-size:clamp(26px,7vw,40px);}}
/* hero content rises in after intro */
#hero .rise{opacity:0;transform:translateY(20px);}
#hero.lit .rise{animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards;}
#hero.lit .rise.d1{animation-delay:.15s}#hero.lit .rise.d2{animation-delay:.3s}#hero.lit .rise.d3{animation-delay:.45s}#hero.lit .rise.d4{animation-delay:.6s}#hero.lit .rise.d5{animation-delay:.75s}

/* ───────── hero trust strip (Logo + Link) ───────── */
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px;}
.trust-lead{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-right:2px;}
.trust-chip{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:12px;
  border:1px solid var(--line);background:rgba(255,255,255,.035);backdrop-filter:blur(8px);transition:.18s;}
.trust-chip:hover{border-color:var(--line-2);background:rgba(255,255,255,.07);transform:translateY(-2px);box-shadow:0 14px 34px -22px rgba(0,0,0,.8);}
.trust-chip .tc-logo{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;}
.trust-chip .tc-logo svg{display:block;}
.tc-g .tc-logo svg{width:20px;height:20px;}
.tc-tp .tp-star{width:17px;height:17px;}
.tc-tp .tp-word{font-weight:700;font-size:14.5px;letter-spacing:-.01em;color:#fff;}
.tc-name{font-weight:600;font-size:14.5px;color:var(--ink);letter-spacing:-.01em;}
.tc-arr{color:var(--mute);font-size:13px;transition:.18s;}
.trust-chip:hover .tc-arr{color:var(--neon-g);transform:translate(2px,-2px);}
@media(max-width:900px){.trust{margin-top:22px;gap:10px;}.trust-lead{flex-basis:100%;margin-bottom:-2px;}}
@keyframes rise{to{opacity:1;transform:none;}}
#scrollCue{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:'JetBrains Mono';font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);opacity:0;transition:opacity 1s ease 1.6s;}
#hero.lit #scrollCue{opacity:.75;}
#scrollCue .bar{width:1px;height:38px;background:linear-gradient(var(--neon-g),transparent);animation:cue 1.8s ease-in-out infinite;}
@keyframes cue{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}

/* terminal window on the laptop screen (under the logo), typed live — JS positioned */
#sysReadout{position:absolute;z-index:3;opacity:0;transition:opacity .6s ease;pointer-events:none;
  font-family:'JetBrains Mono',ui-monospace,monospace;}
#hero.lit #sysReadout{opacity:1;}
#sysReadout .term{border:1px solid rgba(150,170,255,.22);border-radius:.6em;overflow:hidden;
  background:linear-gradient(180deg,rgba(10,14,28,.82),rgba(6,8,18,.88));
  box-shadow:0 .7em 2.2em rgba(0,0,0,.5), inset 0 0 2.4em rgba(80,120,255,.06);}
#sysReadout .term-bar{display:flex;align-items:center;gap:.42em;padding:.5em .7em;
  background:rgba(255,255,255,.05);border-bottom:1px solid rgba(150,170,255,.16);}
#sysReadout .td{width:.62em;height:.62em;border-radius:50%;flex:0 0 auto;}
#sysReadout .td.r{background:#ff5f57;}#sysReadout .td.y{background:#febc2e;}#sysReadout .td.g{background:#28c840;}
#sysReadout .term-title{margin-left:.55em;font-size:.78em;letter-spacing:.05em;color:#9fb0d8;}
#sysReadout .term-body{margin:0;padding:.85em 1em;white-space:pre-wrap;word-break:break-word;line-height:1.75;
  font-family:inherit;font-size:1em;color:#c6f0d4;text-shadow:0 0 7px rgba(116,255,58,.4);min-height:6.4em;}
#sysReadout .term-cur{display:inline-block;width:.55em;height:1.02em;background:var(--neon-g);
  box-shadow:0 0 8px var(--neon-g);vertical-align:text-bottom;margin-left:2px;animation:tcur 1s steps(1) infinite;}
@keyframes tcur{50%{opacity:0;}}

/* ───────── generic section ───────── */
.section{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:clamp(70px,11vh,130px) clamp(18px,4vw,32px);}
.head{display:grid;grid-template-columns:1fr 1.25fr;gap:48px;align-items:end;padding-bottom:32px;}
@media(max-width:840px){.head{grid-template-columns:1fr;gap:16px;}}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono';font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--neon-g);margin-bottom:16px;}
.eyebrow.v{color:var(--neon-v);}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--neon-g);box-shadow:var(--glow-g);}
.eyebrow.v .dot{background:var(--neon-v);box-shadow:var(--glow-v);}
.head h2{font-size:clamp(30px,4.2vw,52px);line-height:1.04;letter-spacing:-.03em;font-weight:600;text-wrap:balance;}
.head h2 em{font-style:normal;color:var(--neon-g);text-shadow:0 0 24px rgba(116,255,58,.42);}
.head h2 em.v{color:var(--neon-v);text-shadow:0 0 24px rgba(155,107,255,.45);}
.head .desc{font-size:clamp(15px,1.5vw,18px);line-height:1.6;color:var(--dim);max-width:50ch;text-wrap:pretty;}
.divider{height:1px;background:linear-gradient(90deg,var(--neon-g),var(--neon-v) 60%,transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .05s;margin:34px 0 46px;opacity:.85;}

/* scroll reveal primitives */
.reveal .up{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in .up{opacity:1;transform:none;}
.reveal.in .up.s1{transition-delay:.06s}.reveal.in .up.s2{transition-delay:.14s}.reveal.in .up.s3{transition-delay:.22s}.reveal.in .divider{transform:scaleX(1);}

/* ───────── bereiche cards ───────── */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:980px){.cards{grid-template-columns:1fr;max-width:560px;margin:0 auto;}}
.card{position:relative;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:16px;
  padding:30px 28px 24px;overflow:hidden;display:flex;flex-direction:column;gap:18px;cursor:pointer;
  --accent:var(--neon-g);--accent-soft:rgba(116,255,58,.14);
  opacity:0;transform:translateY(44px);
  transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1),border-color .25s ease,box-shadow .35s ease;}
.card.v{--accent:var(--neon-v);--accent-soft:rgba(155,107,255,.16);}
.reveal.in .card{opacity:1;transform:none;}
.reveal.in .card:nth-child(1){transition-delay:.18s}.reveal.in .card:nth-child(2){transition-delay:.32s}.reveal.in .card:nth-child(3){transition-delay:.46s}
.card .accent{position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);box-shadow:0 0 14px var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.7,.2,1);}
.reveal.in .card:nth-child(1) .accent{transition-delay:.5s;transform:scaleX(1)}.reveal.in .card:nth-child(2) .accent{transition-delay:.64s;transform:scaleX(1)}.reveal.in .card:nth-child(3) .accent{transition-delay:.78s;transform:scaleX(1)}
.card:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:translateY(-5px);box-shadow:0 24px 60px -28px var(--accent),inset 0 0 30px -20px var(--accent);}
.card .top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.card .pri{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);padding:4px 11px;border-radius:999px;}
.card .idx{font-family:'JetBrains Mono';font-size:11.5px;color:var(--mute);letter-spacing:.04em;}
.card h3{font-size:25px;font-weight:600;letter-spacing:-.02em;line-height:1.1;}
.card .tagline{font-size:14.5px;color:var(--dim);line-height:1.55;min-height:66px;}
.card .kv{background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-family:'JetBrains Mono';font-size:12px;line-height:1.8;display:grid;grid-template-columns:104px 1fr;gap:5px 12px;}
.card .kv .k{color:var(--mute);} .card .kv .vv{color:var(--ink);}
.card .read{margin-top:auto;padding-top:16px;border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:500;}
.card .read .arr{color:var(--accent);transition:transform .25s ease;} .card:hover .read .arr{transform:translateX(5px);}

/* ───────── leistungen (module grid) ───────── */
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px;}
.tab{padding:11px 20px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));background:rgba(255,255,255,.02);color:var(--ink);cursor:pointer;font:inherit;font-size:14.5px;font-weight:500;transition:.18s cubic-bezier(.2,.7,.2,1);display:inline-flex;align-items:center;gap:9px;--accent:var(--neon-g);box-shadow:0 0 17px -3px color-mix(in srgb,var(--accent) 36%,transparent),inset 0 0 20px -15px var(--accent);}
.tab.v{--accent:var(--neon-v);}
.tab::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);transition:.18s;}
.tab:hover{color:#fff;border-color:color-mix(in srgb,var(--accent) 66%,transparent);transform:translateY(-3px);box-shadow:0 16px 38px -20px var(--accent),0 0 24px -4px color-mix(in srgb,var(--accent) 48%,transparent),inset 0 0 26px -16px var(--accent);}
.tab:hover::before{box-shadow:0 0 12px var(--accent);}
.tab.active{background:color-mix(in srgb,var(--accent) 13%,rgba(255,255,255,.02));color:#fff;border-color:var(--accent);
  text-shadow:0 0 12px color-mix(in srgb,var(--accent) 60%,transparent);
  box-shadow:0 0 0 1px var(--accent),0 0 22px -1px color-mix(in srgb,var(--accent) 80%,transparent),0 0 52px -4px color-mix(in srgb,var(--accent) 62%,transparent),inset 0 0 26px -8px color-mix(in srgb,var(--accent) 70%,transparent);}
.tab.active::before{background:var(--accent);box-shadow:0 0 16px var(--accent),0 0 30px var(--accent);}
.tab.active:hover{transform:translateY(-3px);box-shadow:0 0 0 1px var(--accent),0 0 26px 0 color-mix(in srgb,var(--accent) 85%,transparent),0 18px 50px -10px var(--accent),inset 0 0 26px -8px color-mix(in srgb,var(--accent) 70%,transparent);}
.panel{display:none;}
.panel.active{display:block;animation:fade .4s ease;}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mods{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:900px){.mods{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.mods{grid-template-columns:1fr;}}
.mod{position:relative;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:14px;padding:24px 22px;display:flex;flex-direction:column;gap:10px;transition:.2s;--accent:var(--neon-g);}
.mod.v{--accent:var(--neon-v);}
.mod:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);transform:translateY(-3px);box-shadow:0 18px 44px -26px var(--accent);}
.mod .k{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);}
.mod h4{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.2;}
.mod p{font-size:14px;color:var(--dim);line-height:1.55;}
.mod ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:2px;}
.mod ul li{display:grid;grid-template-columns:16px 1fr;gap:8px;font-size:13.5px;color:var(--dim);line-height:1.4;}
.mod ul li::before{content:"▹";color:var(--accent);}

/* ───────── referenzen ───────── */
.ref-list{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,var(--panel),var(--panel-2));}
.ref{display:grid;grid-template-columns:84px 1.5fr 2fr auto;align-items:center;gap:24px;padding:20px 26px;border-top:1px solid var(--line);transition:.18s;
  opacity:0;transform:translateY(20px);}
.ref:first-child{border-top:none;}
.reveal.in .ref{opacity:1;transform:none;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1),background .18s ease;}
.reveal.in .ref:nth-child(1){transition-delay:.05s}.reveal.in .ref:nth-child(2){transition-delay:.13s}.reveal.in .ref:nth-child(3){transition-delay:.21s}.reveal.in .ref:nth-child(4){transition-delay:.29s}.reveal.in .ref:nth-child(5){transition-delay:.37s}.reveal.in .ref:nth-child(6){transition-delay:.45s}
.ref:hover{background:rgba(116,255,58,.04);}
.ref .logo{width:80px;height:80px;border-radius:10px;background:#f3f3ee;display:grid;place-items:center;overflow:hidden;}
.ref .logo img{max-width:64px;max-height:64px;object-fit:contain;}
.ref .name{font-size:16px;font-weight:600;color:var(--ink);}
.ref .desc{color:var(--dim);font-size:14px;}
.ref .visit{font-family:'JetBrains Mono';font-size:11px;color:var(--mute);letter-spacing:.06em;white-space:nowrap;}
.ref .visit::after{content:" ↗";color:var(--neon-g);}
@media(max-width:800px){.ref{grid-template-columns:60px 1fr;gap:16px;padding:16px 18px;} .ref .desc,.ref .visit{display:none;} .ref .logo{width:60px;height:60px;}}

/* ───────── mitgliedschaften ───────── */
.members{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:800px){.members{grid-template-columns:1fr;}}
.member{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:10px;transition:.18s;
  opacity:0;transform:translateY(26px);}
.reveal.in .member{opacity:1;transform:none;transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),border-color .18s ease,box-shadow .3s ease;}
.reveal.in .member:nth-child(1){transition-delay:.1s}.reveal.in .member:nth-child(2){transition-delay:.22s}.reveal.in .member:nth-child(3){transition-delay:.34s}
.member:hover{border-color:color-mix(in srgb,var(--neon-v) 45%,transparent);transform:translateY(-3px);box-shadow:0 18px 44px -26px var(--neon-v);}
.member .tag{font-family:'JetBrains Mono';font-size:11px;color:var(--neon-v);letter-spacing:.05em;}
.member h4{font-size:19px;font-weight:600;letter-spacing:-.01em;}
.member span{color:var(--dim);font-size:14px;}
.member .visit{margin-top:auto;font-family:'JetBrains Mono';font-size:11px;color:var(--mute);letter-spacing:.05em;padding-top:8px;}
.member .visit::after{content:" ↗";color:var(--neon-v);}

/* ───────── kontakt + cta ───────── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr;}}
.cbox{position:relative;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:16px;padding:30px;overflow:hidden;
  opacity:0;transform:translateY(26px);}
.reveal.in .cbox{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in .cbox:nth-child(2){transition-delay:.14s}
.cbox::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--neon-g);box-shadow:0 0 14px var(--neon-g);}
.cbox.v::before{background:var(--neon-v);box-shadow:0 0 14px var(--neon-v);}
.cbox h3{font-size:20px;font-weight:600;margin-bottom:20px;letter-spacing:-.01em;}
.cbox dl{display:grid;grid-template-columns:96px 1fr;gap:14px 20px;}
.cbox dt{font-family:'JetBrains Mono';font-size:11px;color:var(--mute);letter-spacing:.05em;text-transform:uppercase;padding-top:4px;}
.cbox dd{font-size:16px;color:var(--ink);}
.cbox dd a{border-bottom:1px solid var(--neon-g);padding-bottom:1px;transition:.15s;} .cbox dd a:hover{color:var(--neon-g);}
.cbox.v dd{font-family:'JetBrains Mono';font-size:14px;}

.cta-band{position:relative;max-width:var(--maxw);margin:0 auto clamp(40px,8vh,80px);border-radius:20px;overflow:hidden;
  background:linear-gradient(135deg,#0e0e18,#0a0a12);border:1px solid var(--line);padding:clamp(36px,6vw,56px);
  display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center;}
.cta-band::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 120% at 12% 0%,rgba(116,255,58,.14),transparent 60%),radial-gradient(50% 120% at 92% 100%,rgba(155,107,255,.16),transparent 60%);}
@media(max-width:820px){.cta-band{grid-template-columns:1fr;}}
.cta-band > *{position:relative;z-index:1;}
.cta-band h3{font-size:clamp(24px,3.2vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.12;text-wrap:balance;}
.cta-band h3 em{font-style:normal;color:var(--neon-g);text-shadow:0 0 22px rgba(116,255,58,.45);}
.cta-band p{margin-top:10px;font-size:15px;color:var(--dim);}
.cta-band .actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:820px){.cta-band .actions{justify-content:flex-start;}}

/* ───────── footer ───────── */
footer.foot{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:30px clamp(18px,4vw,32px);border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;color:var(--mute);font-size:13px;}
.foot-brand{display:flex;gap:16px;align-items:center;}
.foot-brand img{height:34px;filter:brightness(0) invert(1) opacity(.85);}
.foot a:hover{color:var(--ink);} .foot-right{display:flex;gap:22px;}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;}
  .reveal .up,.card,.ref,.member,.cbox,#hero .rise{opacity:1!important;transform:none!important;}
  .divider,.card .accent{transform:scaleX(1)!important;}
}

/* ════════════════════════════════════════════
   RESPONSIVE · kompakte Layouts (Handy + Portrait-Tablet)
   Desktop bleibt unverändert — alles greift erst ≤900px.
   ════════════════════════════════════════════ */

/* ── mobile nav: hamburger + menu panel ── */
#navToggle{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;border-radius:12px;border:1px solid var(--line-2);
  background:rgba(255,255,255,.03);cursor:pointer;flex:0 0 auto;transition:.2s;padding:0;}
#navToggle span{display:block;width:20px;height:2px;margin:0 auto;border-radius:2px;background:#dfe1ee;transition:.25s cubic-bezier(.2,.7,.2,1);}
#navToggle:hover{border-color:var(--neon-g);box-shadow:var(--glow-g);}
#navToggle[aria-expanded="true"]{border-color:var(--neon-g);box-shadow:var(--glow-g);}
#navToggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);background:var(--neon-g);}
#navToggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.4);}
#navToggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:var(--neon-g);}

#mobileMenu{position:fixed;top:0;left:0;right:0;z-index:79;padding:78px clamp(18px,6vw,40px) 28px;
  background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);
  transform:translateY(-102%);transition:transform .42s cubic-bezier(.2,.7,.2,1);}
#mobileMenu.open{transform:translateY(0);}
#mobileMenu nav{display:flex;flex-direction:column;gap:2px;}
#mobileMenu nav > a:not(.btn){display:flex;align-items:baseline;gap:14px;padding:15px 6px;
  font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--ink);border-bottom:1px solid var(--line);
  transition:.18s;}
#mobileMenu nav > a:not(.btn) .n{font-family:'JetBrains Mono';font-size:12px;color:var(--neon-g);letter-spacing:.06em;flex:0 0 auto;}
#mobileMenu nav > a:not(.btn):active,#mobileMenu nav > a:not(.btn):hover{color:var(--neon-g);padding-left:12px;}
#mobileMenu nav .btn{margin-top:20px;justify-content:center;font-size:16px;padding:15px 22px;}
#mobileMenu .m-legal{display:flex;justify-content:center;gap:24px;margin-top:18px;}
#mobileMenu .m-legal a{font-family:'JetBrains Mono';font-size:12px;color:var(--mute);letter-spacing:.04em;padding:8px 4px;transition:.15s;}
#mobileMenu .m-legal a:hover{color:var(--neon-g);}
#menuScrim{position:fixed;inset:0;z-index:78;background:rgba(4,4,9,.5);opacity:0;pointer-events:none;transition:opacity .42s ease;}
#menuScrim.open{opacity:1;pointer-events:auto;}

@media(max-width:1180px){
  #nav .links{display:none;}
  #navToggle{display:flex;margin-left:auto;}
  #nav .center,#nav .right{display:none;}
}
@media(max-width:560px){
  #nav{gap:14px;}
}

/* ── kompakter HERO: Szene-Block oben (Brand-Moment), Copy darunter ── */
@media(max-width:900px){
  #hero{height:auto;min-height:100svh;display:flex;flex-direction:column;
    background:radial-gradient(120% 60% at 50% 8%,#2a2a32 0%,#17171d 48%,var(--bg) 88%);}
  #heroBg{display:none;}
  #heroZoom{position:relative;inset:auto;flex:0 0 46svh;width:100%;}
  #heroImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 47%;
    -webkit-mask-image:none!important;mask-image:none!important;}
  .hglow.g{width:62vw;height:62vw;}
  .hglow.v{width:66vw;height:66vw;}
  /* Veil nur über dem Bildblock — Szene schmilzt unten ins Dunkle */
  #heroVeil{top:0;bottom:auto;height:46svh;
    background:linear-gradient(180deg,rgba(4,4,9,.5) 0%,rgba(4,4,9,0) 30%,rgba(4,4,9,0) 58%,rgba(8,8,13,.7) 86%,var(--bg) 100%);}
  #heroCopy{position:relative;left:auto;right:auto;bottom:auto;max-width:none;flex:1 1 auto;
    display:flex;flex-direction:column;justify-content:center;
    padding:clamp(22px,4vh,40px) clamp(18px,6vw,30px) calc(36px + env(safe-area-inset-bottom));}
  #heroCopy .eyebrow{margin-bottom:14px;}
  #heroCopy h1{font-size:clamp(30px,7.6vw,42px);line-height:1.04;}
  #heroCopy p.sub{margin-top:16px;font-size:15.5px;line-height:1.5;max-width:48ch;}
  #heroCopy .cta{margin-top:26px;flex-direction:column;align-items:stretch;gap:11px;}
  #heroCopy .cta .btn{justify-content:center;padding:15px 22px;font-size:15.5px;}
  #scrollCue{display:none;}
  /* Terminal-HUD auf Handy + Tablet komplett aus */
  #sysReadout{display:none!important;}
}
