:root{
  --bg:#0d0a07;          /* warmes Fast-Schwarz (ORYZO-Prinzip) */
  --bg-2:#14100b;
  --ink:#f2e7d8;         /* warmes Creme statt reinem Weiss */
  --ink-dim:#b7a68f;
  --line:#3a3128;        /* Hairlines */
  --orange:#e8720c;      /* der EINE Akzent */
  --mono:'Orbitron',monospace;
  --sans:'Inter',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
section{padding:110px 24px;max-width:1200px;margin:0 auto}
.label{font-family:var(--mono);font-size:12px;letter-spacing:.28em;color:var(--orange);text-transform:uppercase;margin-bottom:22px}
h1,h2{font-family:var(--mono);text-transform:uppercase;line-height:1.05;font-weight:700}
h2{font-size:clamp(26px,4vw,44px);margin-bottom:18px}
p.lead{color:var(--ink-dim);max-width:640px}
.btn{display:inline-block;padding:14px 28px;border-radius:999px;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.btn-solid{background:var(--orange);color:#160b02}
.btn-ghost{border:1px solid var(--ink-dim);color:var(--ink)}
.btn-solid:hover{background:#f9871f}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange)}

/* Nav */
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:rgba(13,10,7,.82);border-bottom:1px solid var(--line)}
nav .brand{font-family:var(--mono);font-weight:700;font-size:20px;letter-spacing:.18em;color:var(--orange)}
nav .brand small{display:block;font-size:8.5px;letter-spacing:.30em;color:var(--ink-dim);font-weight:500}
nav ul{display:flex;gap:26px;list-style:none;font-size:13px;letter-spacing:.06em}
nav ul a:hover{color:var(--orange)}
.lang{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--ink-dim)}

/* Boot-Screen */
#boot-screen{position:fixed;inset:0;z-index:300;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .5s ease}
#boot-screen.hide{opacity:0;pointer-events:none}
.boot-mark{font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:.32em;color:var(--orange)}
.boot-line{font-family:var(--mono);font-size:12px;color:var(--ink-dim);min-height:1.2em;letter-spacing:.04em}

/* Matrix-Canvas: fixer Hintergrund ueber die ganze Seite, atmet je Sektion */
#matrix-canvas{position:fixed;inset:0;z-index:-1;pointer-events:none;width:100%;height:100%}

/* Hero — echte Vollflaeche, kein Zwei-Spalten-Kasten */
.hero{position:relative;min-height:100vh;padding:0;overflow:hidden;display:block;z-index:1}
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#000}
.hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,10,7,.5) 0%,rgba(13,10,7,.3) 42%,rgba(13,10,7,.92) 100%)}
.hero-content{position:relative;z-index:2;max-width:820px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 24px 100px}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2}
.scroll-cue span{display:block;width:1px;height:46px;background:linear-gradient(var(--orange),transparent);animation:scrollCue 1.8s ease-in-out infinite}
@keyframes scrollCue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.type-wrap{min-height:170px}
h1.type{font-size:clamp(30px,4.6vw,56px)}
h1.type .accent{color:var(--orange)}
.caret{display:inline-block;width:.55em;height:1em;background:var(--orange);vertical-align:-.1em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero .lead{margin:26px 0 34px;max-width:600px}
.cta-row{display:flex;gap:16px;flex-wrap:wrap}

/* Pipeline — 5 Kaesten mit dezentem Pfeil dazwischen, kein durchlaufender Strich */
.pipeline{display:flex;gap:0;flex-wrap:wrap;margin-top:48px}
.node{flex:1;min-width:150px;border:1px solid var(--line);padding:22px 18px;position:relative;opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.node.show{opacity:1;transform:none}
.node b{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--orange);display:block;margin-bottom:8px}
.node span{font-size:14px;color:var(--ink-dim)}
.node::after{content:"→";position:absolute;right:-11px;top:50%;transform:translateY(-50%);color:var(--orange);z-index:2}
.node:last-child::after{content:""}

/* Karten-Abschluss-Streifen (statt vierte Karte) — flache Flaeche, keine Box */
.cards-strip{margin-top:56px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cards-strip b{font-family:var(--mono);color:var(--orange);text-transform:uppercase;letter-spacing:.08em;font-size:13px;white-space:nowrap}
.cards-strip p{color:var(--ink-dim);font-size:16px;margin:0}

/* DSGVO-Consent (Bewerbungs-Bot) */
.consent{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--ink-dim);line-height:1.5;margin-top:16px;cursor:pointer}
.consent input{margin-top:2px;width:16px;height:16px;accent-color:var(--orange);flex-shrink:0;cursor:pointer}
.consent a{color:var(--orange);text-decoration:underline}
.chat.locked .chat-input{opacity:.4;pointer-events:none}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:48px}
.card{border:1px solid var(--line);padding:34px 28px;background:var(--bg-2);opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.card.show{opacity:1;transform:none}
.card h3{font-family:var(--mono);font-size:16px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.card p{font-size:15px;color:var(--ink-dim)}
.card .tag{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--orange);display:block;margin-bottom:14px}

/* Chat mock */
.chat{max-width:560px;margin:48px auto 0;border:1px solid var(--line);background:var(--bg-2);padding:26px;border-radius:14px}
.chat .row{margin-bottom:14px;display:flex}
.chat .msg{padding:11px 16px;border-radius:12px;font-size:15px;max-width:80%}
.chat .bot .msg{background:#1d1710;border:1px solid var(--line)}
.chat .user{justify-content:flex-end}
.chat .user .msg{background:var(--orange);color:#160b02}
.chat .hint{font-size:12.5px;color:var(--ink-dim);text-align:center;margin-top:16px}
.chat-input{display:flex;gap:10px;margin-top:18px}
.chat-input input{flex:1;background:#1d1710;border:1px solid var(--line);color:var(--ink);padding:12px 16px;border-radius:999px;font-size:15px}
.chat-input input:focus{outline:none;border-color:var(--orange)}
.chat-input .btn{padding:12px 22px;border:none;cursor:pointer}
.msg.typing{color:var(--ink-dim);font-style:italic}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:48px}
.step b{font-family:var(--mono);color:var(--orange);font-size:26px;display:block;margin-bottom:10px}
.step p{font-size:15px;color:var(--ink-dim)}
.step h4{margin-bottom:8px;font-size:16px}

/* Bridge + About — flache Flaeche statt Rahmen-Box */
.bridge{background:var(--bg-2);border-radius:24px;padding:56px 48px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.about{display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center}
.about img{width:230px}

/* Form */
form{max-width:560px;display:grid;gap:16px;margin-top:40px}
form div{display:grid;gap:7px}
input,textarea{background:var(--bg-2);border:1px solid var(--line);color:var(--ink);padding:14px 16px;font-family:var(--sans);font-size:15px;border-radius:8px}
input:focus,textarea:focus{outline:none;border-color:var(--orange)}
label{font-size:13px;color:var(--ink-dim)}
footer{border-top:1px solid var(--line);padding:36px 24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--ink-dim);max-width:1200px;margin:0 auto}
footer a:hover{color:var(--orange)}
@media(max-width:880px){.about{grid-template-columns:1fr}.node::after{content:none}nav ul{display:none}.hero-content{padding-top:110px}}
