:root{
  --bg:#0c0c0e;
  --bg-alt:#151517;
  --paper:#ffffff;
  --paper-alt:#f7f7f5;
  --ink:#141414;
  --ink-soft:#5c5c5c;
  --accent:#f5a623;
  --accent-dark:#d6890f;
  --border:#26262a;
  --radius:16px;
  --font:'Montserrat', system-ui, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; font-family:var(--font); color:var(--ink); background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
.container{max-width:1160px; margin:0 auto; padding:0 24px;}
h1,h2,h3{font-weight:800; line-height:1.15; margin:0 0 16px;}
h1{font-size:clamp(2.1rem, 4vw, 3.4rem);}
h2{font-size:clamp(1.6rem, 3vw, 2.3rem);}
h3{font-size:1.15rem; margin-bottom:8px;}
p{line-height:1.65; color:var(--ink-soft); margin:0 0 16px;}
.eyebrow{
  display:inline-block; font-size:0.78rem; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--accent-dark); margin-bottom:10px;
}
section{padding:80px 0;}
.section-head{max-width:640px; margin-bottom:44px;}
.section-head.center{max-width:640px; margin-left:auto; margin-right:auto; text-align:center;}
.text-center{text-align:center;}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 28px; border-radius:999px; font-weight:700; font-size:0.95rem;
  text-decoration:none; border:2px solid transparent; cursor:pointer; transition:transform .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--accent); color:#141414;}
.btn-outline{background:transparent; border-color:currentColor; color:#fff;}
.btn-outline.dark{color:var(--ink);}
.btn-sm{padding:10px 20px; font-size:0.85rem;}

/* Header */
header.site{position:sticky; top:0; z-index:50; background:rgba(12,12,14,0.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--border);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:1160px; margin:0 auto;}
.logo{display:flex; align-items:center; gap:10px; text-decoration:none; color:#fff; font-weight:800; font-size:1.05rem;}
.logo .mark{
  width:38px; height:38px; border-radius:10px; background:var(--accent);
  display:flex; align-items:center; justify-content:center; color:#141414; flex-shrink:0;
}
.nav-links{display:flex; align-items:center; gap:28px; list-style:none; margin:0; padding:0;}
.nav-links a{text-decoration:none; font-weight:600; color:#e8e8e8;}
.nav-links a.active{color:var(--accent);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.nav-toggle{display:none; background:none; border:none; cursor:pointer;}
@media (max-width:820px){
  .nav-links{position:fixed; inset:68px 0 0 0; background:var(--bg); flex-direction:column; padding:32px 24px; gap:20px; transform:translateY(-110%); transition:transform .25s ease;}
  .nav-links.open{transform:translateY(0);}
  .nav-toggle{display:block;}
  .nav-cta .btn-outline{display:none;}
}

/* Hero */
.hero{
  padding:120px 0 100px; background:var(--bg); color:#fff; position:relative; overflow:hidden;
}
.hero::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 15% 20%, rgba(245,166,35,0.18), transparent 45%),
             radial-gradient(circle at 85% 80%, rgba(245,166,35,0.12), transparent 45%);
}
.hero .container{position:relative; z-index:2;}
.hero-wave{
  position:absolute; left:0; right:0; top:60px; height:220px; overflow:hidden; z-index:1;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.hero-wave .wave{position:absolute; inset:0; background-repeat:repeat-x; background-position:0 center;}
.wave-1{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='220' viewBox='0 0 140 220'%3E%3Cpath d='M0,110 C35,40 105,180 140,110' fill='none' stroke='%23f5a623' stroke-width='3' stroke-linecap='round' opacity='0.55'/%3E%3C/svg%3E");
  background-size:140px 220px;
  animation:waveScroll1 7s linear infinite;
}
.wave-2{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='220' viewBox='0 0 100 220'%3E%3Cpath d='M0,120 C25,70 75,170 100,120' fill='none' stroke='%23f5a623' stroke-width='2' stroke-linecap='round' opacity='0.32'/%3E%3C/svg%3E");
  background-size:100px 220px;
  animation:waveScroll2 5s linear infinite reverse;
}
.wave-3{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='70' height='220' viewBox='0 0 70 220'%3E%3Cpath d='M0,100 C17,70 53,130 70,100' fill='none' stroke='%23ffd58a' stroke-width='2' stroke-linecap='round' opacity='0.22'/%3E%3C/svg%3E");
  background-size:70px 220px;
  animation:waveScroll3 4s linear infinite;
}
@keyframes waveScroll1{from{background-position-x:0;} to{background-position-x:-140px;}}
@keyframes waveScroll2{from{background-position-x:0;} to{background-position-x:-100px;}}
@keyframes waveScroll3{from{background-position-x:0;} to{background-position-x:-70px;}}
@media (prefers-reduced-motion:reduce){.hero-wave .wave{animation:none;}}
.hero-badge{display:inline-flex; gap:10px; align-items:center; background:rgba(245,166,35,0.12); border:1px solid rgba(245,166,35,0.4); color:var(--accent); padding:8px 16px; border-radius:999px; font-weight:700; font-size:0.82rem; margin-bottom:22px;}
.hero h1{color:#fff; max-width:820px;}
.hero h1 em{color:var(--accent); font-style:normal;}
.hero h1.belief{
  font-family:'Playfair Display', Georgia, serif; font-style:italic; font-weight:400;
  font-size:clamp(1.9rem, 3.6vw, 3rem); max-width:780px; color:#f5f2ea;
}
.hero p.lead{color:#c9c9cc; max-width:600px; font-size:1.1rem;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}
.hero-numbers{display:flex; gap:0; margin-top:60px; flex-wrap:wrap; position:relative;}
.hero-num{
  flex:1; min-width:160px; text-align:center; position:relative; padding:0 16px;
  transition:transform .2s ease;
}
.hero-num:hover{transform:translateY(-4px);}
.hero-num:not(:last-child)::after{
  content:""; position:absolute; top:38px; left:calc(50% + 46px); right:calc(-50% + 46px);
  height:2px; background:repeating-linear-gradient(90deg, var(--accent) 0 8px, transparent 8px 16px);
}
@media (max-width:700px){.hero-num:not(:last-child)::after{display:none;}}
.hero-num .n{
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
  width:76px; height:76px; border-radius:50%; background:var(--accent);
  color:#141414; font-size:2.1rem; font-weight:800; line-height:1; position:relative; z-index:1;
}
.hero-num .word{display:block; color:#fff; font-weight:800; font-size:1.15rem; text-transform:uppercase; letter-spacing:0.02em; margin-bottom:6px;}
.hero-num span.label{display:block; color:#a8a8ac; font-size:0.85rem;}

/* 123 section */
.section-123{background:var(--paper-alt);}
.grid-123{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media (max-width:900px){.grid-123{grid-template-columns:1fr;}}
.card-123{
  position:relative; background:#fff; border:1px solid #eee; border-radius:var(--radius);
  padding:36px 28px 30px; overflow:hidden;
}
.card-123 .bignum{
  position:absolute; top:-30px; right:-6px; font-size:8rem; font-weight:800;
  color:rgba(245,166,35,0.1); line-height:1; user-select:none;
}
.card-123 .tag{
  display:inline-block; background:var(--ink); color:var(--accent); font-weight:800;
  width:40px; height:40px; border-radius:10px; text-align:center; line-height:40px; margin-bottom:18px;
}
.card-123 h3{font-size:1.3rem;}
.card-123 .example{
  margin-top:18px; padding-top:16px; border-top:1px dashed #ddd; font-size:0.88rem; color:var(--ink-soft);
}
.card-123 .example strong{color:var(--ink); display:block; margin-bottom:2px;}
.card-123 a.jump{font-weight:700; color:var(--accent-dark); text-decoration:none;}
.stat-callout{
  display:flex; align-items:baseline; gap:10px; background:var(--paper-alt); border-radius:12px;
  padding:14px 16px; margin-top:16px;
}
.stat-callout .stat-num{font-size:1.7rem; font-weight:800; color:var(--accent-dark); flex-shrink:0; line-height:1;}
.stat-callout .stat-text{font-size:0.85rem; color:var(--ink-soft); line-height:1.4;}
.stat-callout.dual{gap:0; padding:14px 0;}
.stat-callout.dual .stat-item{flex:1; text-align:center; display:flex; flex-direction:column; gap:4px; padding:0 8px;}
.stat-callout.dual .stat-item:first-child{border-right:1px dashed #ddd;}
.stat-callout.dual .stat-num{font-size:1.5rem;}
.stat-callout.dual .stat-text{font-size:0.78rem;}
.footnote{font-size:0.75rem; color:#a8a8a8; max-width:640px; margin:32px auto 0; text-align:center;}

/* Nicht-Sektion */
.section-not{background:var(--bg); color:#fff; text-align:center;}
.section-not h2{color:#fff;}
.not-list{display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:28px;}
.not-pill{
  display:flex; align-items:center; gap:8px; padding:12px 22px; border:1px solid var(--border);
  border-radius:999px; color:#e8e8e8; font-weight:600; background:rgba(255,255,255,0.03);
}
.not-pill svg{flex-shrink:0;}

/* Beispiele */
.grid-examples{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
@media (max-width:760px){.grid-examples{grid-template-columns:1fr;}}
.example-card{border:1px solid #eee; border-radius:var(--radius); padding:26px; background:#fff;}
.example-card .kicker{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
.example-card .kicker .badge{
  width:34px; height:34px; border-radius:9px; background:var(--ink); color:var(--accent);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:0.95rem; flex-shrink:0;
}
.example-card .kicker span.cat{font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--ink-soft);}
.example-card h3{margin-bottom:6px;}
.example-card p{margin-bottom:0;}
.example-card .listen{margin-top:14px; display:inline-block; font-weight:700; font-size:0.88rem; color:var(--accent-dark); text-decoration:none;}

/* Ablauf */
.section-process{background:var(--paper-alt);}
.step-row{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:40px;}
@media (max-width:860px){.step-row{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.step-row{grid-template-columns:1fr;}}
.step-item{background:#fff; border:1px solid #eee; border-radius:var(--radius); padding:22px;}
.step-item .num{
  display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px;
  border-radius:50%; background:var(--ink); color:var(--accent); font-weight:800; font-size:0.85rem; margin-bottom:14px;
}
.roadmap-cta{
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background:var(--ink); color:#fff; border-radius:var(--radius); padding:32px;
}
.roadmap-cta h3{color:#fff; margin-bottom:6px;}
.roadmap-cta p{color:#c9c9cc; margin-bottom:0; max-width:440px;}
.download-form{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.download-form input[type="text"], .download-form input[type="email"]{
  padding:11px 14px; border:1px solid #33333a; border-radius:999px; background:#1a1a1d;
  color:#fff; font-family:var(--font); font-size:0.88rem; width:170px;
}
.download-form input::placeholder{color:#8a8a8e;}
@media (max-width:700px){.download-form{width:100%;} .download-form input{flex:1; min-width:140px;}}

/* Preise */
.price-block{background:var(--bg); color:#fff; text-align:center;}
.price-block h2{color:#fff;}
.price-quote{font-size:1.3rem; font-style:italic; color:var(--accent); max-width:640px; margin:0 auto 36px;}
.step-list{list-style:none; margin:0 auto 32px; padding:0; max-width:560px; text-align:left;}
.step-list li{display:flex; gap:16px; margin-bottom:18px; color:#e8e8e8;}
.step-list .lnum{
  flex-shrink:0; width:32px; height:32px; border-radius:50%; background:var(--accent); color:#141414;
  display:flex; align-items:center; justify-content:center; font-weight:800;
}

/* CTA band */
.cta-band{
  background:var(--accent); border-radius:24px; padding:56px 40px; text-align:center; margin:0 24px;
}
.cta-band h2{color:#141414;}
.cta-band p{color:#3a2e10; max-width:520px; margin:0 auto 26px;}
.cta-band .btn-primary{background:#141414; color:#fff;}

/* Kontakt */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;}}
.form-group{margin-bottom:18px;}
.form-group label{display:block; font-weight:700; font-size:0.85rem; margin-bottom:6px;}
.form-group input, .form-group textarea{
  width:100%; padding:12px 14px; border:1px solid #ddd; border-radius:10px; font-family:var(--font); font-size:0.95rem;
}
.contact-info-card{background:var(--paper-alt); border-radius:var(--radius); padding:28px;}
.contact-info-card a{text-decoration:none; font-weight:600; color:var(--ink);}
.platform-links{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px;}
.platform-pill{
  display:flex; align-items:center; gap:8px; padding:10px 18px; border-radius:999px; background:#141414;
  color:var(--accent); font-weight:700; font-size:0.85rem; text-decoration:none;
}

/* Footer */
footer.site{background:var(--bg); color:#c9c9cc; padding:56px 0 28px;}
footer.site .logo{color:#fff;}
.footer-grid{display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; margin-bottom:28px;}
.footer-links{display:flex; gap:24px; list-style:none; padding:0; margin:0; flex-wrap:wrap;}
.footer-links a{text-decoration:none; color:#c9c9cc;}
.footer-bottom{border-top:1px solid var(--border); padding-top:20px; font-size:0.85rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:#8a8a8a;}

.reveal{opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease;}
.reveal.in{opacity:1; transform:none;}
