@font-face{font-family:"Marke";src:url("fonts/montserrat-regular.woff2") format("woff2");font-weight:400;font-display:swap;}
  @font-face{font-family:"Marke";src:url("fonts/montserrat-medium.woff2") format("woff2");font-weight:500;font-display:swap;}
  @font-face{font-family:"Marke";src:url("fonts/montserrat-semibold.woff2") format("woff2");font-weight:600;font-display:swap;}

  :root{
    --gruen:#2E3C2D;
    --gruen-tief:#1F2A1E;
    --gruen-hell:#4A5F47;
    --papier:#F4F3EE;
    --flaeche:#E7E7DE;
    --weich:#6A736A;
    --linie:#CFD1C6;
    --sand:#C8B896;
    --schrift:"Marke","Montserrat","Avenir Next","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
  body{
    margin:0;background:var(--papier);color:var(--gruen);
    font-family:var(--schrift);font-size:16.5px;font-weight:400;line-height:1.68;
  }
  .wrap{max-width:70rem;margin:0 auto;padding:0 1.6rem;}
  a{color:inherit;}
  a:focus-visible,summary:focus-visible{outline:2px solid var(--sand);outline-offset:3px;}
  h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.012em;line-height:1.25;}
  .marke{font-size:.72rem;font-weight:600;letter-spacing:.19em;line-height:2.2;}
  .springen{position:absolute;left:-9999px;background:var(--gruen);color:var(--papier);padding:.7rem 1.2rem;z-index:100;}
  .springen:focus{left:1rem;top:1rem;}

  /* ---------- Statusband ---------- */
  .statusband{background:var(--gruen-tief);color:#C3CCC1;font-size:.82rem;}
  .statusband .wrap{
    display:flex;flex-wrap:wrap;gap:.4rem 1.8rem;align-items:center;
    justify-content:space-between;padding-top:.55rem;padding-bottom:.55rem;
  }
  .statusband a{color:#E2E7DE;text-decoration:none;}
  .statusband a:hover{text-decoration:underline;}
  .punkt{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--sand);margin-right:.55rem;}
  .kontaktband{display:flex;gap:1.4rem;flex-wrap:wrap;}

  /* ---------- Kopfleiste ---------- */
  .kopf{
    position:sticky;top:0;z-index:50;
    background:rgba(244,243,238,.94);
    backdrop-filter:saturate(1.2) blur(8px);
    border-bottom:1px solid var(--linie);
  }
  .kopf .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:.85rem;padding-bottom:.85rem;}
  .kopf .logo{display:block;width:8.6rem;height:auto;aspect-ratio:2400/1863;color:var(--gruen);}
  nav ul{display:flex;gap:1.9rem;list-style:none;margin:0;padding:0;}
  nav a{text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.14em;padding-bottom:.25rem;border-bottom:1px solid transparent;}
  nav a:hover{border-bottom-color:var(--sand);}
  .kopfmail{text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.11em;border:1px solid var(--gruen);padding:.6rem 1.1rem;white-space:nowrap;}
  .kopfmail:hover{background:var(--gruen);color:var(--papier);}

  /* ---------- Hero ---------- */
  .hero{padding:4.5rem 0 4.5rem;overflow:hidden;}
  .hero .wrap{
    display:grid;
    grid-template-columns:1.02fr .98fr;
    gap:3.5rem;
    align-items:center;
  }
  .hero-text{min-width:0;}
  .startbild{
    margin:0;
    position:relative;
    overflow:hidden;
    background:var(--gruen);
  }
  .startbild img{
    display:block;
    width:100%;height:100%;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  .bildlogo{
    position:absolute;
    left:50%;top:50%;
    transform:translate(-50%,-50%);
    width:38%;height:auto;
    aspect-ratio:2400/1863;
    color:#F4F3EE;
    opacity:.66;
    pointer-events:none;
  }
  @media (prefers-reduced-motion:no-preference){
    .bildlogo{
      opacity:0;
      animation:logo-ein 4.2s cubic-bezier(.33,.02,.28,1) 1.1s forwards;
    }
    @keyframes logo-ein{
      from{opacity:0;transform:translate(-50%,-44%) scale(.955);}
      55%{opacity:.40;}
      to{opacity:.66;transform:translate(-50%,-50%) scale(1);}
    }
  }
  .willkommen{font-size:.78rem;font-weight:600;letter-spacing:.19em;line-height:1.7;color:var(--gruen-hell);margin:0 0 1.6rem;max-width:34ch;}
  .hero .logo{display:block;width:min(30rem,80vw);height:auto;aspect-ratio:2400/1863;color:var(--gruen);}
  .hero h1{font-size:clamp(1.5rem,3.6vw,2.3rem);max-width:24ch;margin:2.8rem 0 0;line-height:1.32;}
  .knopfreihe{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.6rem;}
  .knopf,.knopf-rand{display:inline-block;text-decoration:none;padding:.85rem 1.7rem;font-size:.8rem;font-weight:600;letter-spacing:.13em;}
  .knopf{background:var(--gruen);color:var(--papier);border:1px solid var(--gruen);}
  .knopf:hover{background:transparent;color:var(--gruen);}
  .knopf-rand{background:transparent;color:var(--gruen);border:1px solid var(--gruen);}
  .knopf-rand:hover{background:var(--gruen);color:var(--papier);}

  /* ---------- Kapitel ---------- */
  .kapitel{padding:5rem 0;border-top:1px solid var(--linie);scroll-margin-top:5.5rem;}
  .kapitelkopf{margin-bottom:3.2rem;max-width:44rem;}
  .nummer{display:block;font-size:3.4rem;font-weight:500;line-height:1;color:var(--linie);margin-bottom:.7rem;letter-spacing:-.02em;}
  .kapitelkopf .marke{display:block;color:var(--gruen-hell);margin-bottom:.9rem;}
  .kapitelkopf h2{font-size:clamp(1.7rem,4vw,2.5rem);}
  .vorspann{max-width:60ch;margin:1.4rem 0 0;}

  .zitat{background:var(--flaeche);border-left:3px solid var(--sand);padding:2rem 2.2rem;margin:0 0 3rem;max-width:52rem;}
  .zitat p{margin:0 0 1.3rem;font-size:1.12rem;line-height:1.6;}
  .zitat footer{font-size:.85rem;letter-spacing:.1em;font-weight:600;color:var(--gruen-hell);}

  .zahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1px;background:var(--linie);border:1px solid var(--linie);}
  .zahlen > div{background:var(--papier);padding:1.8rem 1.6rem;}
  .zahlen h3{font-size:1.35rem;margin-bottom:.6rem;}
  .zahlen p{margin:0;font-size:.92rem;color:var(--weich);line-height:1.6;}

  .zeitleiste{list-style:none;margin:0;padding:0;position:relative;max-width:52rem;}
  .zeitleiste::before{content:"";position:absolute;left:.42rem;top:.6rem;bottom:.6rem;width:1px;background:var(--linie);}
  .zeitleiste li{position:relative;padding:0 0 2.4rem 3rem;}
  .zeitleiste li::before{content:"";position:absolute;left:0;top:.5rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--papier);border:2px solid var(--sand);}
  .zeitleiste li:last-child{padding-bottom:0;}
  .zeitleiste .datum{display:block;font-size:.75rem;font-weight:600;letter-spacing:.16em;color:var(--gruen-hell);margin-bottom:.45rem;}
  .zeitleiste h3{font-size:1.15rem;margin-bottom:.5rem;}
  .zeitleiste p{margin:0;color:var(--weich);font-size:.95rem;}
  .zeitleiste li.laeuft::before{background:var(--sand);border-color:var(--sand);}
  .zeitleiste li.offen::before{border-color:var(--linie);border-style:dashed;}
  .zeitleiste li.offen .datum,.zeitleiste li.offen h3{color:var(--weich);}
  .zeitleiste li.offen h3{font-weight:400;}
  .jetzt{
    display:inline-block;margin-left:.7rem;padding:.1rem .55rem;
    background:var(--sand);color:var(--gruen);
    font-size:.62rem;font-weight:600;letter-spacing:.14em;vertical-align:.15em;
  }

  .faq{max-width:52rem;border-top:1px solid var(--linie);}
  .faq details{border-bottom:1px solid var(--linie);}
  .faq summary{cursor:pointer;list-style:none;padding:1.35rem 3rem 1.35rem 0;position:relative;font-size:1.05rem;font-weight:500;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::after{
    content:"";position:absolute;right:.6rem;top:1.75rem;width:.7rem;height:.7rem;
    border-right:1.5px solid var(--gruen);border-bottom:1.5px solid var(--gruen);
    transform:rotate(45deg);transition:transform .18s ease;
  }
  .faq details[open] summary::after{transform:rotate(-135deg);top:1.95rem;}
  .faq .antwort{padding:0 2rem 1.6rem 0;max-width:62ch;color:var(--weich);}
  .faq .antwort p{margin:0 0 1rem;}
  .faq .antwort p:last-child{margin:0;}

  /* ---------- Beitritt ---------- */
  .beitritt{background:var(--gruen);color:var(--papier);border-top:none;}
  .beitritt .nummer{color:rgba(200,184,150,.45);}
  .beitritt .kapitelkopf .marke{color:var(--sand);}
  .beitritt .vorspann,.beitritt p{color:#DDE0D8;}
  .beitritt .spalten{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:start;}
  .beitritt a{color:#FFF;}
  ol.schritte{counter-reset:s;list-style:none;margin:0 0 2rem;padding:0;}
  ol.schritte li{counter-increment:s;position:relative;padding:1.05rem 0 1.05rem 3.2rem;border-top:1px solid rgba(200,184,150,.28);}
  ol.schritte li:last-child{border-bottom:1px solid rgba(200,184,150,.28);}
  ol.schritte li::before{content:counter(s);position:absolute;left:0;top:1rem;font-size:1.3rem;font-weight:500;color:var(--sand);}
  .knopf-sand{display:inline-block;background:var(--sand);color:var(--gruen);border:1px solid var(--sand);text-decoration:none;padding:.85rem 1.7rem;font-size:.8rem;font-weight:600;letter-spacing:.13em;}
  .knopf-sand:hover{background:transparent;color:var(--sand);}
  .karte{border:1px solid rgba(200,184,150,.35);padding:1.9rem;}
  .karte h3{font-size:1.05rem;color:var(--sand);margin-bottom:1.1rem;}
  .karte ul{list-style:none;margin:0;padding:0;font-size:.93rem;color:#DDE0D8;}
  .karte li{padding:.6rem 0;border-bottom:1px solid rgba(200,184,150,.2);}
  .karte li:last-child{border-bottom:none;}
  .kleingedruckt{font-size:.85rem;color:#A9B3A7;line-height:1.7;margin:1.8rem 0 0;}
  .kleingedruckt a{color:#D2D8CE;}

  /* ---------- Fuß ---------- */
  footer.fuss{background:var(--gruen-tief);color:#C3CCC1;padding:4rem 0 2.5rem;scroll-margin-top:5.5rem;}
  footer.fuss .spalten{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(195,204,193,.2);}
  footer.fuss .logo{display:block;width:9.5rem;height:auto;aspect-ratio:2400/1863;color:var(--papier);margin-bottom:1.5rem;}
  footer.fuss h2{font-size:.72rem;font-weight:600;letter-spacing:.19em;color:var(--sand);margin-bottom:1.2rem;}
  footer.fuss address{font-style:normal;line-height:1.85;font-size:.95rem;}
  footer.fuss ul{list-style:none;margin:0;padding:0;font-size:.95rem;line-height:1.95;}
  footer.fuss a{color:#E2E7DE;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(200,184,150,.6);}
  .zeiten{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1.5rem;font-size:.95rem;margin:0;}
  .zeiten dt{color:#9FAA9E;}
  .zeiten dd{margin:0;}
  .zutritt{font-size:.88rem;color:#9FAA9E;margin-top:1rem;}
  .hinweis6{max-width:62ch;font-size:.82rem;color:#94A093;padding-top:2rem;line-height:1.7;}
  .rechtszeile{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;padding-top:1.6rem;font-size:.82rem;color:#94A093;}

  /* ---------- Schmal ---------- */
  @media (max-width:60rem){
    .beitritt .spalten,footer.fuss .spalten{grid-template-columns:1fr;gap:2.4rem;}
    .hero .wrap{grid-template-columns:1fr;gap:2.4rem;}
    .startbild img{aspect-ratio:16/9;}
    .bildlogo{width:32%;}
  }
  @media (max-width:48rem){
    body{font-size:16px;}
    .kopf .wrap{flex-wrap:wrap;gap:.9rem;}
    .kopf .logo{width:7rem;}
    nav{order:3;width:100%;border-top:1px solid var(--linie);padding-top:.7rem;}
    nav ul{gap:1.2rem;flex-wrap:wrap;}
    nav a{font-size:.72rem;letter-spacing:.1em;}
    .kopfmail{padding:.5rem .9rem;font-size:.72rem;}
    .hero{padding:2.4rem 0 2.8rem;}
    .hero .wrap{grid-template-columns:1fr;gap:1.8rem;}
    .hero h1{margin-top:1.2rem;}
    .startbild img{aspect-ratio:3/2;}
    .bildlogo{width:40%;}
    .kapitel{padding:3.4rem 0;}
    .kapitelkopf{margin-bottom:2.4rem;}
    .nummer{font-size:2.6rem;}
    .knopfreihe{display:grid;}
    .knopf,.knopf-rand,.knopf-sand{display:block;text-align:center;}
    .zitat{padding:1.5rem 1.6rem;}
  }

/* ================= Textseiten (Datenschutz, Impressum) ================= */
.textseite{padding:4rem 0 5rem;}
.textseite .kopfzeile{max-width:62ch;margin-bottom:3rem;}
.textseite .kopfzeile h1{font-size:clamp(1.8rem,4.2vw,2.6rem);}
.textseite .stand{font-size:.85rem;color:var(--weich);margin:1rem 0 0;}
.textseite article{max-width:62ch;}
.textseite section.abschnitt{
  display:block;padding:2.2rem 0;border-top:1px solid var(--linie);
  scroll-margin-top:5.5rem;
}
.textseite section.abschnitt:first-of-type{border-top:1px solid var(--gruen);}
.textseite h2{
  font-size:1.25rem;margin:0 0 1.1rem;
  display:flex;gap:.9rem;align-items:baseline;
}
.textseite h2 .zaehler{font-size:.85rem;font-weight:600;color:var(--sand);}
.textseite h3{font-size:1.02rem;margin:1.8rem 0 .7rem;}
.textseite p{margin:0 0 1.05rem;}
.textseite p:last-child{margin-bottom:0;}
.textseite ul{margin:0 0 1.05rem;padding:0;list-style:none;}
.textseite li{padding:.55rem 0 .55rem 1.5rem;border-bottom:1px solid var(--linie);position:relative;}
.textseite li:first-child{border-top:1px solid var(--linie);}
.textseite li::before{content:"";position:absolute;left:0;top:1.35em;width:.7rem;height:1px;background:var(--sand);}
.textseite .anschrift{font-style:normal;line-height:1.85;margin:0 0 1.05rem;}
.textseite .hinweiskasten{
  background:var(--flaeche);border-left:3px solid var(--sand);
  padding:1.2rem 1.4rem;font-size:.93rem;margin:0 0 1.05rem;
}
.textseite .hinweiskasten p{margin:0;}
.zurueck{
  display:inline-block;margin-top:2.6rem;text-decoration:none;
  font-size:.78rem;font-weight:600;letter-spacing:.13em;
  border-bottom:1px solid var(--sand);padding-bottom:.25rem;
}
@media (max-width:48rem){
  .textseite{padding:2.6rem 0 3.4rem;}
  .textseite .kopfzeile{margin-bottom:2rem;}
  .textseite h2{flex-direction:column;gap:.2rem;}
}

/* ================= Eingebettetes Aufnahmeformular ================= */
.formularblock{margin-top:2.4rem;}
.formularblock h3{font-size:1.05rem;color:var(--sand);margin:0 0 1.1rem;}
.einwilligung{
  border:1px solid rgba(200,184,150,.35);
  padding:1.9rem;
  background:rgba(200,184,150,.06);
}
.einwilligung p{font-size:.92rem;color:#C7CFC4;margin:0 0 1.1rem;line-height:1.7;}
.einwilligung p:last-of-type{margin-bottom:1.6rem;}
.einwilligung a{color:#E4E7DE;}
.ladeknopf{
  font-family:inherit;cursor:pointer;
  background:var(--sand);color:var(--gruen);border:1px solid var(--sand);
  padding:.85rem 1.7rem;font-size:.8rem;font-weight:600;letter-spacing:.13em;
}
.ladeknopf:hover{background:transparent;color:var(--sand);}
.ladeknopf:focus-visible{outline:2px solid #FFF;outline-offset:3px;}
.ersatzlink{display:block;margin-top:1.2rem;font-size:.85rem;color:#A9B3A7;}
.ersatzlink a{color:#D2D8CE;}
.formularrahmen{
  width:100%;height:54rem;border:1px solid rgba(200,184,150,.35);
  background:var(--papier);display:block;
}
@media (max-width:48rem){
  .einwilligung{padding:1.4rem;}
  .ladeknopf{display:block;width:100%;text-align:center;}
  .formularrahmen{height:60rem;}
}

/* ================= Hinweis: Formular folgt ================= */
.baldbox{
  border:1px solid rgba(200,184,150,.35);
  background:rgba(200,184,150,.06);
  padding:1.9rem;
}
.baldbox .bald{
  font-size:.72rem;font-weight:600;letter-spacing:.19em;
  color:var(--sand);margin:0 0 .9rem;
}
.baldbox p{margin:0;color:#D6DCD2;font-size:.95rem;line-height:1.75;}
.baldbox a{color:#FFF;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--sand);}
@media (max-width:48rem){ .baldbox{padding:1.4rem;} }
