:root{
  --bg:#FBF7F0;
  --bg-alt:#F2EBE0;
  --ink:#2C3E50;
  --ink-soft:#56657A;
  --accent:#C0392B;
  --accent-dark:#922A1F;
  --warm:#8B4513;
  --warm-light:#C49A6C;
  --green:#1E7A57;
  --line:#D8CCB8;
  --hl:#F4D24A;
  --shadow:0 6px 24px rgba(40,30,15,.10);
  --radius:14px;
  --maxw:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:18px}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
a:hover{border-bottom-color:var(--accent)}

/* ---------- HEADER ---------- */
header.site{position:sticky;top:0;background:rgba(251,247,240,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:50}
.nav{max-width:var(--maxw);margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1.1rem;color:var(--ink)}
.brand-mark{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-weight:700;font-size:.95rem}
.nav ul{list-style:none;display:flex;gap:16px;font-family:Arial,sans-serif;font-size:.9rem;flex-wrap:wrap;align-items:center}
.nav a{color:var(--ink-soft);border:none}
.nav a:hover{color:var(--accent)}
.nav-cta{
  background:var(--green);color:#fff !important;
  padding:9px 18px;border-radius:6px;
  font-family:Arial,sans-serif;font-size:.85rem;font-weight:700;
  border:none;text-transform:uppercase;letter-spacing:.06em;
  box-shadow:0 2px 6px rgba(30,122,87,.35);
}
.nav-cta:hover{background:#155A40;border:none;box-shadow:0 3px 10px rgba(30,122,87,.45)}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:6px;font-size:1.4rem}

/* ---------- HERO ---------- */
.hero{padding:60px 20px 70px;background:linear-gradient(180deg,var(--bg) 0%,var(--bg-alt) 100%)}
.hero-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-size:2.8rem;line-height:1.15;color:var(--ink);margin-bottom:14px}
.hero h1 em{color:var(--accent);font-style:normal}
.hero .lead{font-size:1.15rem;color:var(--ink-soft);margin-bottom:24px}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.btn{display:inline-block;padding:14px 26px;border-radius:10px;font-family:Arial,sans-serif;font-weight:700;font-size:1rem;cursor:pointer;border:none;transition:transform .12s,box-shadow .12s}
.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow)}
.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.hero-counter{display:flex;gap:24px;margin-top:8px;font-family:Arial,sans-serif;color:var(--ink-soft);font-size:.95rem;flex-wrap:wrap}
.hero-counter strong{color:var(--accent);font-size:1.1rem}

.hero-art{position:relative}
.hero-art svg, .hero-art img{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}

/* ---------- SECTION GENERIC ---------- */
section{padding:70px 20px}
.section-inner{max-width:var(--maxw);margin:0 auto}
section h2{font-size:2.1rem;margin-bottom:8px;color:var(--ink)}
section h2 .accent{color:var(--accent)}
section .sub{font-size:1.05rem;color:var(--ink-soft);margin-bottom:32px;max-width:780px}

/* ---------- HINTERGRUND ---------- */
#hintergrund{background:#fff}
.hintergrund-text{max-width:820px;font-size:1.05rem}
.hintergrund-text p{margin-bottom:16px;color:var(--ink-soft);line-height:1.7}
.hintergrund-text p strong{color:var(--ink)}
.hinweis-box{
  background:#FFF7E6;
  border-left:4px solid var(--hl);
  border-radius:6px;
  padding:20px 26px;
  margin:22px 0;
}
.hinweis-box h3{
  font-size:1.05rem;font-weight:700;color:var(--ink);
  margin-bottom:8px;font-family:Georgia,serif;
}
.hinweis-box p{
  margin-bottom:0;color:var(--ink);font-size:.96rem;line-height:1.65;
}
.hinweis-box em{font-style:italic;color:var(--accent-dark);font-weight:600}

/* ---------- AKTUELLES / TIMELINE ---------- */
.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:8px}
.tl-item{background:#fff;padding:20px 22px;border-radius:var(--radius);border:1px solid var(--line);position:relative;border-top:4px solid var(--line)}
.tl-item.tl-done{border-top-color:var(--ink-soft);opacity:.92}
.tl-item.tl-active{border-top-color:var(--accent);box-shadow:var(--shadow)}
.tl-item.tl-active::before{content:"AKTIV";position:absolute;top:8px;right:12px;background:var(--accent);color:#fff;font-family:Arial,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:10px}
.tl-date{font-family:Arial,sans-serif;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:8px}
.tl-body{font-size:.96rem;color:var(--ink-soft)}
.tl-body strong{color:var(--ink)}

/* ---------- WHAT IS PLANNED ---------- */
.fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.fact{background:#fff;padding:22px;border-radius:var(--radius);border:1px solid var(--line);box-shadow:0 2px 8px rgba(40,30,15,.04)}
.fact .num{font-size:2.5rem;font-weight:700;color:var(--accent);font-family:Arial,sans-serif;line-height:1}
.fact .lbl{margin-top:8px;font-size:1rem;color:var(--ink)}
.fact .det{margin-top:6px;font-size:.9rem;color:var(--ink-soft);font-family:Arial,sans-serif}

/* ---------- WHY IT MATTERS ---------- */
.problems{background:var(--bg-alt)}
.problem-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:24px}
.problem{background:#fff;padding:24px;border-radius:var(--radius);border-left:4px solid var(--accent);box-shadow:0 2px 8px rgba(40,30,15,.04)}
.problem h3{font-family:Georgia,serif;font-size:1.15rem;margin-bottom:8px;color:var(--ink)}
.problem p{font-size:.96rem;color:var(--ink-soft)}

/* ---------- CONTRADICTION ---------- */
.contradiction-card{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);margin-top:24px;border-top:6px solid var(--hl)}
.contradiction-card h3{font-size:1.4rem;margin-bottom:14px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}
.compare > div{padding:20px;border-radius:10px}
.compare .past{background:var(--bg-alt);border:1px dashed var(--warm)}
.compare .now{background:#FBE9E7;border:1px solid var(--accent)}
.compare h4{font-family:Arial,sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:8px}
.compare .big{font-size:1.4rem;font-weight:700;color:var(--ink)}
.compare .det{margin-top:6px;font-size:.95rem;color:var(--ink-soft);font-family:Arial,sans-serif}

/* ---------- INVESTOR ---------- */
.investor{background:linear-gradient(180deg,#fff 0%,var(--bg-alt) 100%)}
.investor-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
.investor h2{margin-bottom:18px}
.investor p{margin-bottom:14px}
.investor .quote{margin-top:24px;padding:20px 28px;border-left:4px solid var(--accent);background:#fff;border-radius:8px;font-style:italic;color:var(--ink);font-size:1.1rem}

/* ---------- WHAT WE DO ---------- */
.actions{background:var(--bg-alt)}
.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:24px}
.action{background:#fff;padding:24px;border-radius:var(--radius);border:1px solid var(--line)}
.action .ico{width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-weight:700;font-size:1.2rem;margin-bottom:14px}
.action h3{font-family:Georgia,serif;font-size:1.1rem;margin-bottom:6px}
.action p{font-size:.95rem;color:var(--ink-soft)}

/* ---------- PETITION FORM ---------- */
.petition{background:linear-gradient(180deg,var(--bg) 0%,#FFE9D8 100%);border-top:1px solid var(--line)}
.petition-card{background:#fff;border-radius:var(--radius);padding:36px;box-shadow:var(--shadow);max-width:760px;margin:24px auto 0}
.petition-card h2{margin-bottom:8px;color:var(--ink)}
.petition-card .pre{font-size:1.05rem;color:var(--ink-soft);margin-bottom:24px}
form.signform{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.signform .full{grid-column:1/-1}
form.signform label{display:block;font-family:Arial,sans-serif;font-size:.85rem;color:var(--ink);margin-bottom:6px;font-weight:600}
form.signform input,form.signform textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:8px;font-family:Arial,sans-serif;font-size:1rem;background:#fff}
form.signform input:focus,form.signform textarea:focus{outline:none;border-color:var(--accent)}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;margin-top:6px}
.checkbox-row input[type="checkbox"]{width:18px;height:18px;margin-top:3px;flex-shrink:0}
.checkbox-row label{font-family:Arial,sans-serif;font-size:.92rem;color:var(--ink-soft);font-weight:400}
form.signform .submit-row{grid-column:1/-1;margin-top:8px}
form.signform .submit-row button{width:100%;padding:16px;font-size:1.1rem}
.muted-note{font-family:Arial,sans-serif;font-size:.82rem;color:var(--ink-soft);margin-top:14px}
.alt-mailto{font-family:Arial,sans-serif;font-size:.95rem;color:var(--ink-soft);text-align:center;margin-top:16px}

/* ---------- COUNT ---------- */
.count-bar{display:flex;align-items:center;gap:12px;margin-top:14px;padding:14px 18px;background:#FFF7E6;border-radius:10px;border:1px solid var(--hl);font-family:Arial,sans-serif;font-size:.95rem;color:var(--ink)}
.count-bar strong{font-size:1.1rem;color:var(--accent)}

/* ---------- FAQ ---------- */
.faq{background:var(--bg)}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;margin-bottom:14px}
.faq-item h3{font-family:Arial,sans-serif;font-size:1rem;font-weight:700;margin-bottom:8px;color:var(--ink)}
.faq-item p{font-size:.96rem;color:var(--ink-soft)}

/* ---------- FOOTER ---------- */
footer{background:#2C3E50;color:#E5E0D5;padding:48px 20px 28px;font-family:Arial,sans-serif;font-size:.95rem}
footer a{color:var(--hl);border-bottom-color:transparent}
footer a:hover{border-bottom-color:var(--hl)}
.footer-inner{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;
}
.footer-inner > div{min-width:0}
footer h4{margin-bottom:12px;color:#fff;font-size:1rem;font-weight:700}
footer ul{list-style:none;padding:0;margin:0}
footer ul li{margin-bottom:6px}
footer p{margin-bottom:8px;line-height:1.5}
.footer-bottom{
  max-width:var(--maxw);margin:32px auto 0;
  border-top:1px solid #3F5266;padding-top:20px;
  font-size:.85rem;color:#9DAEC0;text-align:center;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:880px){
  .hero-inner{grid-template-columns:1fr;gap:28px}
  .hero h1{font-size:2.2rem}
  .compare{grid-template-columns:1fr}
  .investor-grid{grid-template-columns:1fr}
  form.signform{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr;gap:24px}
  .nav ul{display:none}
  .menu-toggle{display:block}
  .nav.open ul{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:#fff;padding:18px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);gap:14px}
}

/* ====== KARUSSELL — Verfahrensstand ====== */
.carousel{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  margin-top:8px;
  outline:none;
}
.carousel:focus{box-shadow:0 0 0 3px rgba(208,77,57,.18);border-radius:var(--radius)}
.carousel-track-wrap{overflow:hidden;border-radius:var(--radius)}
.carousel-track{
  display:flex;
  gap:0;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track .tl-item{
  flex:0 0 100%;
  scroll-snap-align:start;
  min-width:0;
  margin:0;
}
.carousel-arrow{
  width:64px;height:64px;border-radius:50%;
  border:2px solid var(--accent);
  background:#fff;color:var(--accent);
  cursor:pointer;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  padding:0;
  box-shadow:var(--shadow);
  transition:background .15s,color .15s,transform .1s,opacity .15s;
}
.carousel-arrow svg{width:34px;height:34px;display:block}
.carousel-arrow:hover{background:var(--accent);color:#fff;transform:scale(1.05)}
.carousel-arrow:active{transform:scale(.95)}
.carousel-arrow:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}
.carousel-arrow:focus-visible{outline:3px solid rgba(208,77,57,.35);outline-offset:3px}
@media(max-width:700px){
  .carousel{gap:10px}
  .carousel-arrow{width:52px;height:52px}
  .carousel-arrow svg{width:28px;height:28px}
}
@media(max-width:480px){
  .carousel-arrow{width:44px;height:44px}
  .carousel-arrow svg{width:24px;height:24px}
}
.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:14px}
.carousel-dot{
  width:11px;height:11px;border-radius:50%;
  border:none;background:#C8C2B5;cursor:pointer;padding:0;
  transition:background .15s,transform .15s;
}
.carousel-dot.active{background:var(--accent);transform:scale(1.3)}
.carousel-hint{
  font-size:.82rem;color:var(--ink-mute);text-align:center;
  margin-top:8px;font-style:italic;
}

.tl-link{display:inline-block;margin-top:10px;color:var(--accent);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;font-size:.92rem}
.tl-link:hover{color:var(--accent-deep,#6B0F0F)}
