:root{
  --primary-purple:#7b44ed;
  --primary-green:#00C284;
  --text-dark:#212121;
  --text-light:#757575;
  --bg-white:#FFFFFF;
  --bg-light:#F5F5F5;
  --shadow-light:0 2px 20px rgba(0,0,0,0.08);
  --shadow-medium:0 8px 40px rgba(0,0,0,0.12);
  --border-radius:12px;
  --transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Nunito',sans-serif;line-height:1.6;color:var(--text-dark);overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:'Red Hat Display',sans-serif;font-weight:700;line-height:1.2;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}

/* NAV */
.navbar{
  position:fixed;top:0;width:100%;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(20px);
  z-index:1000;padding:16px 0;
  transition:var(--transition);
}
.navbar.scrolled{box-shadow:var(--shadow-light);}
.nav-inner{display:flex;justify-content:space-between;align-items:center;}
.logo{height:60px;transition:var(--transition);}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{text-decoration:none;color:var(--text-dark);font-weight:600;transition:var(--transition);position:relative;}
.nav-links a:hover{color:var(--primary-purple);}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;
  background:var(--primary-purple);transition:var(--transition);
}
.nav-links a:hover::after{width:100%;}

.btn-primary{
  background:linear-gradient(135deg,var(--primary-green),#00A876);
  color:#fff;padding:12px 24px;border:none;border-radius:var(--border-radius);
  font-weight:600;text-decoration:none;display:inline-block;transition:var(--transition);
  cursor:pointer;position:relative;overflow:hidden;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium);}
.btn-primary::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
  transition:left 0.5s;
}
.btn-primary:hover::before{left:100%;}

.btn-secondary{
  background:transparent;color:var(--primary-green);
  border:2px solid var(--primary-green);
  padding:10px 22px;border-radius:var(--border-radius);
  font-weight:600;text-decoration:none;display:inline-block;
  transition:var(--transition);cursor:pointer;
}
.btn-secondary:hover{background:var(--primary-green);color:#fff;transform:translateY(-2px);}

/* HERO */
.hero{
  min-height:100vh;display:flex;align-items:center;position:relative;
  background:linear-gradient(135deg,#00C284 0%,#02996a 40%,#7b44ed 100%);
  overflow:hidden;padding:120px 0 80px;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:url('../img/hero-abstract.png') center/cover no-repeat;
  opacity:0.15;mix-blend-mode:soft-light;z-index:1;
}
.hero-content{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;
  gap:80px;align-items:center;
}
.hero-text{max-width:600px;color:#fff;}
.hero-badge{
  display:inline-block;background:rgba(255,255,255,0.15);
  color:#fff;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;
  margin-bottom:24px;border:1px solid rgba(255,255,255,0.35);
  letter-spacing:0.03em;text-transform:uppercase;
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
.hero-title{
  font-size:clamp(2.5rem,5vw,4rem);font-weight:800;margin-bottom:24px;
  background:linear-gradient(135deg,#ffffff,#c3ffe9);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-subtitle{font-size:1.25rem;color:rgba(255,255,255,0.9);margin-bottom:32px;line-height:1.6;}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap;}
.hero-visual{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;}

.hero-logo-big{
  width:450px;height:450px;display:flex;align-items:center;justify-content:center;position:relative;
  background:transparent;border:none;box-shadow:none;border-radius:0;overflow:visible;
}
.hero-logo-big::before{display:none;}
.hero-logo-big img{
  width:min(420px,92vw);height:auto;display:block;
  filter:drop-shadow(0 22px 45px rgba(0,0,0,0.28));
  animation:float 6s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}

/* SECTIONS */
.features{padding:120px 0;background:var(--bg-white);}
.how-it-works{padding:120px 0;background:var(--bg-white);}
.principles{padding:120px 0;background:var(--bg-light);}
.team{padding:120px 0;background:var(--bg-light);}

.section-header{text-align:center;margin-bottom:80px;}
.section-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:24px;color:var(--text-dark);}
.section-subtitle{font-size:1.125rem;color:var(--text-light);max-width:640px;margin:0 auto;}

/* FEATURES */
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-top:80px;}
.feature-card{
  background:var(--bg-white);padding:40px 32px;border-radius:var(--border-radius);
  box-shadow:var(--shadow-light);text-align:center;transition:var(--transition);
  position:relative;overflow:hidden;
}
.feature-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--primary-green),var(--primary-purple));
  transform:scaleX(0);transition:var(--transition);
}
.feature-card:hover::before{transform:scaleX(1);}
.feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-medium);}
.feature-icon{
  width:80px;height:80px;margin:0 auto 24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:white;font-size:32px;
  background:linear-gradient(135deg,var(--primary-green),var(--primary-purple));
}
.feature-title{font-size:1.5rem;margin-bottom:16px;color:var(--text-dark);}
.feature-description{color:var(--text-light);line-height:1.6;}

/* STEPS */
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:60px;margin-top:80px;}
.step{text-align:center;position:relative;}
.step-number{
  width:60px;height:60px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary-green),var(--primary-purple));
  color:white;display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;font-weight:700;margin:0 auto 24px;position:relative;z-index:2;
}
.step::after{
  content:'';position:absolute;top:30px;left:50%;
  width:100%;height:2px;background:var(--bg-light);z-index:1;
}
.step:last-child::after{display:none;}
.step-title{font-size:1.25rem;margin-bottom:16px;color:var(--text-dark);}
.step-description{color:var(--text-light);}

/* PRINCIPLES */
.principles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;margin-top:70px;}
.principle-card{
  background:var(--bg-white);border-radius:18px;box-shadow:var(--shadow-light);
  padding:34px 28px;transition:var(--transition);position:relative;overflow:hidden;
  text-align:center;
}
.principle-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-medium);}
.principle-icon{
  width:56px;height:56px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  color:white;background:linear-gradient(135deg,var(--primary-green),var(--primary-purple));
  margin:0 auto 16px;
}
.principle-title{font-size:1.25rem;margin-bottom:10px;}
.principle-text{color:var(--text-light);line-height:1.7;}

/* TEAM */
.team-hero{
  display:grid;grid-template-columns:1.05fr 0.95fr;
  gap:52px;margin-top:70px;
  align-items:stretch; /* -> gleiche Höhe */
}
.team-photo-wrap{
  position:relative;border-radius:28px;overflow:hidden;
  box-shadow:var(--shadow-medium);transform:translateZ(0);
  min-height:420px;background:#eaeaea;
  height:100%;display:flex;
}
.team-photo-wrap::before{display:none;} /* Farbschimmer weg */
.team-photo-wrap::after{
  content:"";position:absolute;inset:-2px;border-radius:30px;
  border:1px solid rgba(255,255,255,0.28);z-index:3;pointer-events:none;
}
.team-photo-large{
  width:100%;height:100%;flex:1;min-height:420px;
  object-fit:cover;display:block;
  filter:saturate(1.05) contrast(1.05) grayscale(0.15);
  transform:scale(1.02);
  transition:transform 600ms cubic-bezier(0.2,0.8,0.2,1), filter 600ms cubic-bezier(0.2,0.8,0.2,1);
}
.team-photo-wrap:hover .team-photo-large{transform:scale(1.06);filter:saturate(1.18) contrast(1.08) grayscale(0);}
.team-photo-caption{
  position:absolute;left:18px;bottom:18px;z-index:4;color:rgba(255,255,255,0.98);
  background:rgba(0,0,0,0.45);border:1px solid rgba(255,255,255,0.18);
  border-radius:16px;padding:12px 14px;backdrop-filter:blur(10px);
}
.team-photo-caption strong{display:block;font-size:1.1rem;margin-bottom:4px;letter-spacing:0.01em;}
.team-photo-caption span{display:inline-block;font-size:0.95rem;opacity:0.9;}

.team-copy{
  background:rgba(255,255,255,0.75);
  border:1px solid rgba(255,255,255,0.55);
  backdrop-filter:blur(14px);
  border-radius:24px;padding:34px 28px;
  box-shadow:var(--shadow-light);
  height:100%;display:flex;flex-direction:column;
}
.team-kicker{color:var(--primary-purple);font-weight:700;letter-spacing:0.08em;text-transform:uppercase;font-size:0.85rem;margin-bottom:12px;}
.team-copy h3{font-size:1.9rem;margin-bottom:14px;}
.team-copy p{color:var(--text-light);margin-bottom:16px;line-height:1.75;}
.team-chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px;}
.chip{
  display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;
  background:white;border:1px solid rgba(0,0,0,0.06);
  box-shadow:0 6px 20px rgba(0,0,0,0.06);
  font-weight:700;color:#2b2b2b;font-size:0.92rem;
}
.chip .material-icons{font-size:18px;color:var(--primary-green);}
.team-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:auto;} /* Buttons unten */

/* WAITLIST */
.waitlist{
  padding:120px 0;
  background:linear-gradient(135deg,var(--primary-green), #1B5E20);
  color:white;text-align:center;
}
.waitlist-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:18px;}
.waitlist-subtitle{
  font-size:1.2rem;margin-bottom:34px;opacity:0.92;
  max-width:720px;margin-left:auto;margin-right:auto;
}
.waitlist-form{
  max-width:680px;margin:0 auto;
  display:grid;grid-template-columns:1fr auto;
  gap:12px;align-items:center;
}
.waitlist-input{
  width:100%;padding:16px;border-radius:14px;
  border:1px solid rgba(255,255,255,0.35);
  background:rgba(255,255,255,0.14);
  color:white;outline:none;font-size:1rem;backdrop-filter:blur(10px);
}
.waitlist-input::placeholder{color:rgba(255,255,255,0.75);}
.btn-white{
  background:white;color:var(--primary-green);
  padding:16px 24px;border-radius:14px;font-weight:800;text-decoration:none;
  display:inline-block;transition:var(--transition);border:none;cursor:pointer;white-space:nowrap;
}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium);}
.waitlist-note{margin-top:14px;font-size:0.95rem;opacity:0.9;}

/* FOOTER */
.footer{background:var(--text-dark);color:white;padding:60px 0 40px;}
.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:40px;}
.footer-section h3{margin-bottom:16px;color:var(--primary-purple);}
.footer-section p,.footer-section a{color:#B0BEC5;text-decoration:none;line-height:1.8;}
.footer-section a:hover{color:white;}
.footer-bottom{text-align:center;padding-top:40px;border-top:1px solid #37474F;color:#B0BEC5;}

/* ANIMATIONS */
.fade-in{opacity:0;transform:translateY(30px);transition:all 0.8s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}
.slide-in-left{opacity:0;transform:translateX(-50px);transition:all 0.8s ease;}
.slide-in-left.visible{opacity:1;transform:translateX(0);}
.slide-in-right{opacity:0;transform:translateX(50px);transition:all 0.8s ease;}
.slide-in-right.visible{opacity:1;transform:translateX(0);}

/* PARTICLES */
.particles{position:absolute;inset:0;pointer-events:none;z-index:1;}
.particle{
  position:absolute;width:4px;height:4px;background:var(--primary-green);
  border-radius:50%;opacity:0.3;animation:float-particle 20s infinite linear;
}
@keyframes float-particle{
  0%{transform:translateY(100vh) translateX(0);opacity:0;}
  10%{opacity:0.3;}
  90%{opacity:0.3;}
  100%{transform:translateY(-100px) translateX(100px);opacity:0;}
}

/* RESPONSIVE */
@media (max-width:900px){
  .hero-content{grid-template-columns:1fr;gap:40px;text-align:center;}
  .hero-logo-big{width:min(420px,92vw);height:min(420px,92vw);}
  .nav-links{display:none;}
  .hero-buttons{justify-content:center;}
  .features-grid,.steps-grid{grid-template-columns:1fr;gap:32px;}
  .team-hero{grid-template-columns:1fr;gap:26px;}
  .team-copy{text-align:left;}
  .waitlist-form{grid-template-columns:1fr;}
  .btn-white{width:100%;}
}

/* =========================
   RESPONSIVE (Tablet/Mobile)
   ========================= */

/* 1200px: etwas kompakter */
@media (max-width: 1200px) {
  .container { padding: 0 18px; }
  .hero-content { gap: 48px; }
}

/* 900px: Tablet -> 1 Spalte, Abstände kleiner */
@media (max-width: 900px) {
  .navbar { padding: 12px 0; }
  .logo { height: 52px; }

  .hero { padding: 110px 0 70px; }
  .hero-content {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 36px;
  }
  .hero-text { max-width: 100%; }
  .hero-buttons { justify-content: center; }
  .hero-logo-big { width: min(380px, 86vw); height: auto; }
  .hero-logo-big img { width: min(360px, 82vw); }

  .features, .how-it-works, .principles, .partners, .team, .waitlist {
    padding: 90px 0;
  }

  .features-grid, .steps-grid, .principles-grid, .partners-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  /* Steps-Linie stört am Handy -> aus */
  .step::after { display: none; }

  /* Team: untereinander */
  .team-hero {
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: stretch;
  }
  .team-photo-wrap { min-height: 320px; }
  .team-copy { text-align: left; }

  .waitlist-form { grid-template-columns: 1fr; }
  .btn-white { width: 100%; }
}

/* 600px: Handy -> Buttons/Typo kompakter */
@media (max-width: 600px) {
  .hero-title { font-size: 2.2rem; }
  .hero-subtitle { font-size: 1.05rem; }

  .hero-buttons { gap: 12px; }
  .btn-primary, .btn-secondary { width: 100%; text-align: center; }

  .feature-card { padding: 28px 22px; }
  .principle-card { padding: 28px 22px; }

  .team-copy { padding: 26px 20px; }
  .team-photo-caption { left: 12px; right: 12px; bottom: 12px; }

  .footer { padding: 46px 0 30px; }
  .footer-content { gap: 22px; }
}

/* 420px: sehr kleine Geräte */
@media (max-width: 420px) {
  .hero { padding: 100px 0 60px; }
  .hero-badge { font-size: 12px; padding: 7px 12px; }
  .feature-icon { width: 72px; height: 72px; }
}

/* Mobile Nav Toggle */
.nav-toggle {
  display: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 8px;
  border-radius: 10px;
}

.nav-toggle .material-icons {
  font-size: 30px;
  color: var(--text-dark);
}

/* ab 900px: Menü als Drawer */
@media (max-width: 900px) {
  .nav-toggle { display: inline-flex; align-items: center; justify-content: center; }

  .nav-links {
    display: none;
    position: absolute;
    left: 16px;
    right: 16px;
    top: 78px;
    background: rgba(255,255,255,0.98);
    border-radius: 16px;
    padding: 14px;
    box-shadow: var(--shadow-medium);
    flex-direction: column;
    gap: 12px;
    z-index: 1100;
  }

  .nav-links a { width: 100%; padding: 10px 12px; }
  .nav-links a::after { display: none; } /* Underline aus im Drawer */
  .nav-links .btn-primary { width: 100%; text-align: center; }
  .navbar .container { position: relative; }
  .nav-links.open { display: flex; }
}
