:root{
  --gruen:#1C3A2C;
  --gruen-tief:#14231C;
  --gruen-hell:#2C5642;
  --sand:#EFE7D7;
  --papier:#FBF8F1;
  --messing:#A8763C;
  --linie:#DDD1B9;
  --grau:#5D6660;

  --display:"Bricolage Grotesque",system-ui,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,monospace;

  --max:1120px;
  --r:14px;
}

.st-tafel *{box-sizing:border-box}
html{scroll-behavior:smooth}
body.st-tafel-body{margin:0;background:var(--papier)}
.st-tafel{
  background:var(--papier);
  color:var(--gruen-tief);
  font-family:var(--body);
  font-size:17px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.st-tafel .wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}

.st-tafel h1,.st-tafel h2,.st-tafel h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.08;margin:0}
.st-tafel p{margin:0}
.st-tafel a{color:inherit}

.st-tafel .eyebrow{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--messing);
}

/* ---------- Kopfzeile ---------- */
.st-tafel .kopf{
  position:sticky;top:0;z-index:50;
  background:rgba(251,248,241,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linie);
}
.st-tafel .kopf-innen{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.st-tafel .kopf-marke{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:.02em;text-decoration:none}
.st-tafel .kopf-marke img{height:30px;width:auto}
.st-tafel .kopf-links{display:flex;align-items:center;gap:22px}
.st-tafel .kopf-links a{font-size:15px;text-decoration:none;color:var(--grau)}
.st-tafel .kopf-links a:hover{color:var(--gruen)}
@media(max-width:640px){.st-tafel .kopf-links a.nur-desktop{display:none}}

/* ---------- Knöpfe ---------- */
.st-tafel .knopf{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--body);font-weight:600;font-size:16px;
  padding:15px 26px;border-radius:999px;
  text-decoration:none;border:1.5px solid transparent;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.st-tafel .knopf-voll{background:var(--gruen);color:#fff;box-shadow:0 6px 18px rgba(28,58,44,.22)}
.st-tafel .knopf-voll:hover{background:var(--gruen-hell);transform:translateY(-1px)}
.st-tafel .knopf-leer{border-color:var(--gruen);color:var(--gruen)}
.st-tafel .knopf-leer:hover{background:rgba(28,58,44,.06)}
.st-tafel .knopf-hell{background:#fff;color:var(--gruen)}
.st-tafel .knopf-hell:hover{transform:translateY(-1px)}
.st-tafel .knopf-klein{padding:11px 20px;font-size:15px}
.st-tafel :focus-visible{outline:3px solid var(--messing);outline-offset:3px;border-radius:4px}

/* ---------- Hero ---------- */
.st-tafel .hero{
  background:
    radial-gradient(120% 80% at 50% -10%, #F7F1E4 0%, var(--sand) 60%, var(--sand) 100%);
  padding:72px 0 0;
  text-align:center;
  border-bottom:1px solid var(--linie);
}
.st-tafel .logo-gross{
  display:block;margin:0 auto 34px;
  width:min(300px,62vw);height:auto;
}
.st-tafel .hero h1{
  font-size:clamp(2.4rem,6.2vw,4.15rem);
  max-width:14ch;margin:0 auto;
  font-weight:800;
}
.st-tafel .hero-sub{
  margin:22px auto 0;max-width:52ch;
  font-size:clamp(1.02rem,2.1vw,1.19rem);
  color:var(--grau);
}
.st-tafel .hero-knoepfe{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}
.st-tafel .hero-mikro{
  margin-top:18px;
  font-family:var(--mono);font-size:13px;color:var(--grau);
  display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;
}
.st-tafel .hero-mikro span{white-space:nowrap}

/* ---------- Signatur: Boxentafel ---------- */
.st-tafel .tafel-zone{padding:56px 0 0}
.st-tafel .tafel{
  background:var(--gruen);
  border-radius:20px;
  padding:26px 22px 24px;
  box-shadow:0 24px 50px -22px rgba(20,35,28,.55);
  transform:translateY(40px);
  text-align:left;
}
.st-tafel .tafel-kopf{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:0 6px 16px;border-bottom:1px dashed rgba(255,255,255,.22);
}
.st-tafel .tafel-kopf .eyebrow{color:#D9B27C}
.st-tafel .tafel-kopf .stand{font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.6)}
.st-tafel .plaketten{
  display:grid;gap:10px;margin-top:16px;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
}
.st-tafel .plakette{
  background:#F6F1E6;
  border-radius:8px;
  padding:12px 14px;
  display:flex;align-items:center;gap:12px;
  border-left:4px solid var(--messing);
  transition:transform .18s ease;
  animation:st-auftauchen .5s ease both;
}
.st-tafel .plakette:hover{transform:translateY(-3px) rotate(-.35deg)}
.st-tafel .plakette .nr{
  font-family:var(--mono);font-size:13px;font-weight:500;
  color:var(--messing);letter-spacing:.05em;
}
.st-tafel .plakette .name{font-family:var(--display);font-weight:700;font-size:16px;line-height:1.1}
.st-tafel .plakette .halter{font-size:12.5px;color:var(--grau);line-height:1.3}
.st-tafel .plakette.frei{background:rgba(255,255,255,.07);border-left-color:rgba(255,255,255,.3)}
.st-tafel .plakette.frei .name{color:rgba(255,255,255,.9)}
.st-tafel .plakette.frei .halter{color:rgba(255,255,255,.55)}
.st-tafel .punkt{width:8px;height:8px;border-radius:50%;background:#4E8C63;margin-left:auto;flex:none}
.st-tafel .plakette.frei .punkt{background:rgba(255,255,255,.35)}
@keyframes st-auftauchen{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .st-tafel .plakette{animation:none}
  .st-tafel .plakette:hover{transform:none}
  html{scroll-behavior:auto}
}

/* ---------- Abschnitte ---------- */
.st-tafel .abschnitt{padding:118px 0}
.st-tafel .abschnitt-kopf{max-width:56ch;margin-bottom:52px}
.st-tafel .abschnitt-kopf h2{font-size:clamp(1.85rem,3.9vw,2.6rem);margin-top:12px}
.st-tafel .abschnitt-kopf p{margin-top:16px;color:var(--grau);font-size:1.06rem}

.st-tafel .karten{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.st-tafel .karte{
  background:#fff;border:1px solid var(--linie);border-radius:var(--r);
  padding:28px 26px 30px;
  transition:border-color .18s ease, transform .18s ease;
}
.st-tafel .karte:hover{border-color:var(--messing);transform:translateY(-2px)}
.st-tafel .karte svg{width:26px;height:26px;stroke:var(--messing);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.st-tafel .karte h3{font-size:1.16rem;margin:16px 0 8px}
.st-tafel .karte p{color:var(--grau);font-size:.97rem}

/* ---------- Ablauf ---------- */
.st-tafel .ablauf{background:var(--sand);border-block:1px solid var(--linie)}
.st-tafel .schritte{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));counter-reset:s}
.st-tafel .schritt{position:relative;padding-top:20px;border-top:2px solid var(--gruen)}
.st-tafel .schritt::before{
  counter-increment:s;content:counter(s,decimal-leading-zero);
  font-family:var(--mono);font-size:12px;color:var(--messing);letter-spacing:.14em;
}
.st-tafel .schritt h3{font-size:1.15rem;margin:10px 0 8px}
.st-tafel .schritt p{color:var(--grau);font-size:.97rem}

/* ---------- Preise ---------- */
.st-tafel .preis-raster{display:grid;gap:26px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}
@media(max-width:800px){.st-tafel .preis-raster{grid-template-columns:1fr}}
.st-tafel .preis-karte{
  background:#fff;border:1.5px solid var(--gruen);border-radius:18px;
  padding:34px 32px 32px;box-shadow:0 16px 40px -28px rgba(20,35,28,.5);
}
.st-tafel .preis-zahl{display:flex;align-items:flex-end;gap:8px;margin:14px 0 4px}
.st-tafel .preis-zahl b{font-family:var(--display);font-size:3.3rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.st-tafel .preis-zahl span{font-family:var(--mono);font-size:14px;color:var(--grau);padding-bottom:9px}
.st-tafel .preis-test{font-family:var(--mono);font-size:13px;color:var(--messing)}
.st-tafel .leistungen{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:0}
.st-tafel .leistungen li{
  display:flex;gap:12px;align-items:flex-start;
  padding:13px 0;border-top:1px solid var(--linie);font-size:.98rem;
}
.st-tafel .leistungen li::before{content:"✓";color:var(--messing);font-weight:700;line-height:1.5}
.st-tafel .preis-karte .knopf{width:100%;margin-top:26px}
.st-tafel .module{
  background:var(--sand);border:1px solid var(--linie);border-radius:18px;
  padding:32px 30px;
}
.st-tafel .module h3{font-size:1.3rem;margin:12px 0 12px}
.st-tafel .module p{color:var(--grau);font-size:.99rem}
.st-tafel .module-preis{
  font-family:var(--display);font-weight:800;font-size:2rem;letter-spacing:-.02em;
  margin-top:20px;display:block;
}
.st-tafel .module-preis small{font-family:var(--mono);font-size:13px;font-weight:400;color:var(--grau);letter-spacing:0}
.st-tafel .module-hinweis{margin-top:14px;font-size:.92rem;color:var(--grau)}

/* ---------- Schluss-CTA ---------- */
.st-tafel .schluss{background:var(--gruen);color:#fff;text-align:center;padding:110px 0}
.st-tafel .schluss h2{font-size:clamp(1.9rem,4.4vw,2.9rem);max-width:18ch;margin:0 auto}
.st-tafel .schluss p{color:rgba(255,255,255,.75);margin-top:18px;max-width:46ch;margin-inline:auto}
.st-tafel .schluss .knopf{margin-top:32px}
.st-tafel .schluss .hero-mikro{color:rgba(255,255,255,.6);margin-top:20px}

/* ---------- Fuß ---------- */
.st-tafel .fuss{padding:38px 0;border-top:1px solid var(--linie);font-size:14px;color:var(--grau)}
.st-tafel .fuss-innen{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:space-between;align-items:center}
.st-tafel .fuss a{text-decoration:none}
.st-tafel .fuss a:hover{color:var(--gruen)}

/* ---------- Monatsübersicht (fiktives Beispiel) ---------- */
.st-tafel .monat{background:#fff;border:1px solid var(--linie);border-radius:18px;padding:26px 28px;box-shadow:0 16px 40px -28px rgba(20,35,28,.5);max-width:760px;margin:0 auto}
.st-tafel .monat-kopf{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:14px;border-bottom:1px dashed var(--linie);margin-bottom:18px}
.st-tafel .monat-summe{font-family:var(--display);font-weight:800;font-size:1.5rem;color:var(--gruen)}
.st-tafel .monat-rows{display:grid;gap:12px}
.st-tafel .monat-row{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:14px}
.st-tafel .monat-name{font-size:.95rem;color:var(--gruen-tief)}
.st-tafel .monat-bar{height:14px;background:var(--sand);border-radius:999px;overflow:hidden}
.st-tafel .monat-bar i{display:block;height:100%;border-radius:999px}
.st-tafel .monat-wert{font-family:var(--mono);font-size:.95rem;color:var(--grau);white-space:nowrap;min-width:76px;text-align:right}
.st-tafel .monat-gesamt{margin-top:6px;padding-top:12px;border-top:1px solid var(--linie)}
.st-tafel .monat-gesamt .monat-name{font-family:var(--display);font-weight:700}
.st-tafel .monat-gesamt .monat-wert{color:var(--gruen);font-weight:500}
.st-tafel .monat-verlauf{margin-top:22px}
.st-tafel .monat-strip{display:flex;gap:8px;align-items:flex-end;height:70px}
.st-tafel .monat-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.st-tafel .monat-col i{width:100%;max-width:18px;background:var(--linie);border-radius:5px 5px 0 0;min-height:3px}
.st-tafel .monat-col.on i{background:var(--messing)}
.st-tafel .monat-col small{font-family:var(--mono);font-size:10px;color:var(--grau)}
.st-tafel .monat-note{margin-top:16px;font-size:.82rem;color:var(--grau)}
@media(max-width:560px){.st-tafel .monat-row{grid-template-columns:104px 1fr auto;gap:10px}.st-tafel .monat-name{font-size:.85rem}.st-tafel .monat-wert{min-width:64px;font-size:.85rem}}

/* --- Unterseiten (Rechtstexte) im Landing-Design ------------------------- */
.st-tafel .hero-sub-banner{padding:52px 0 40px;}
.st-tafel .hero-sub-banner h1{font-size:clamp(2rem,5vw,3.2rem);max-width:24ch;font-weight:800;}
.st-tafel .str-main{background:var(--papier);padding:44px 0 70px;}
.st-tafel .str-legal{
  max-width:820px;margin:0 auto;background:#fff;
  border:1px solid var(--linie);border-radius:var(--r);
  padding:40px 48px;font-family:var(--body);color:var(--gruen-tief);line-height:1.65;
}
.st-tafel .str-legal > h1:first-child{display:none;} /* Titel steht bereits im Banner */
.st-tafel .str-legal h1{font-size:1.8rem;color:var(--gruen);margin:0 0 10px;}
.st-tafel .str-legal h2{font-size:1.25rem;color:var(--gruen);margin:26px 0 8px;font-family:var(--display);}
.st-tafel .str-legal h3{font-size:1.08rem;color:var(--gruen);margin:20px 0 6px;font-family:var(--display);}
.st-tafel .str-legal p{margin:0 0 12px;}
.st-tafel .str-legal ul,.st-tafel .str-legal ol{margin:0 0 12px 22px;}
.st-tafel .str-legal li{margin:0 0 6px;}
.st-tafel .str-legal a{color:var(--messing);}
.st-tafel .str-legal .str-stand{color:var(--grau);font-size:.9rem;margin-top:22px;}
@media(max-width:640px){.st-tafel .str-legal{padding:26px 20px;}}
