/* Bettina Kuhlmann – Fotografie & Layout
   Bewusst nur Systemschriften: keine Verbindung zu Google & Co. (Datenschutz) */
:root {
  --papier: #fbfaf7;
  --text: #2a2926;
  --leise: #75706a;
  --linie: #e6e1d8;
  --akzent: #5b7a6a;
  --akzent-dunkel: #46604f;
  --akzent-hell: #eaf0eb;
  --serif: "Didot", "Bodoni 72", "Playfair Display", Georgia, "Times New Roman", serif;
  --sans: "Avenir Next", "Avenir", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--papier); color: var(--text); font: 300 18px/1.65 var(--sans); }
a { color: var(--akzent-dunkel); }
.innen { max-width: 760px; margin: 0 auto; padding: 0 20px; }

/* Kopf */
.kopf { text-align: center; padding: 56px 0 8px; }
.marke-name { font-family: var(--serif); font-size: 38px; font-weight: 600; letter-spacing: .01em; line-height: 1.1; margin: 0; }
.marke-sub { margin-top: 4px; color: var(--leise); letter-spacing: .06em; }

/* Einstieg */
.einstieg { text-align: center; padding: 48px 0 56px; }
.einstieg h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(30px, 6vw, 44px); line-height: 1.15; margin: 0 0 18px; }
.einstieg p { max-width: 560px; margin: 0 auto 30px; color: var(--leise); }
.knopf {
  display: inline-block; background: var(--akzent); color: #fff; text-decoration: none;
  font-weight: 600; font-size: 17px; letter-spacing: .01em;
  padding: 16px 30px; border-radius: 999px; box-shadow: 0 6px 18px rgba(70, 96, 79, .22);
  transition: background .15s, transform .15s;
}
.knopf:hover { background: var(--akzent-dunkel); transform: translateY(-1px); }
.knopf:focus-visible { outline: 3px solid var(--akzent-hell); outline-offset: 3px; }
.knopf-hinweis { display: block; margin-top: 12px; font-size: 14px; color: var(--leise); }

/* Abschnitte */
section { border-top: 1px solid var(--linie); padding: 44px 0; }
h2 { font-family: var(--serif); font-weight: 500; font-size: 28px; margin: 0 0 22px; text-align: center; }

.schritte { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; counter-reset: s; }
.schritte li { text-align: center; counter-increment: s; }
.schritte li::before {
  content: counter(s); display: grid; place-items: center; width: 44px; height: 44px; margin: 0 auto 12px;
  border-radius: 50%; background: var(--akzent-hell); color: var(--akzent-dunkel); font: 600 18px/1 var(--sans);
}
.schritte strong { display: block; font-weight: 600; margin-bottom: 4px; }
.schritte span { color: var(--leise); font-size: 16px; }
@media (max-width: 640px) { .schritte { grid-template-columns: 1fr; gap: 26px; } }

.mappe { background: #fff; border: 1px solid var(--linie); border-radius: 14px; padding: 26px 24px; max-width: 560px; margin: 0 auto; }
.mappe ul { margin: 0 0 18px; padding-left: 20px; }
.mappe li { margin-bottom: 4px; }
.preise { display: grid; grid-template-columns: 1fr auto; gap: 6px 20px; margin: 0; }
.preise dt { color: var(--leise); }
.preise dd { margin: 0; font-weight: 600; text-align: right; white-space: nowrap; }
.klein { font-size: 15px; color: var(--leise); }
.mitte { text-align: center; }

.kontakt { text-align: center; }
.kontakt p { margin: 4px 0; }
.kontakt a { text-decoration: none; font-weight: 500; }
.kontakt a:hover { text-decoration: underline; }

/* Fuß */
.fuss { border-top: 1px solid var(--linie); padding: 26px 0 40px; text-align: center; font-size: 14px; color: var(--leise); }
.fuss a { color: var(--leise); margin: 0 8px; }

/* Rechtstexte */
.recht { padding: 30px 0 50px; }
.recht h1 { font-family: var(--serif); font-weight: 500; font-size: 34px; margin: 10px 0 24px; }
.recht h2 { text-align: left; font-size: 21px; margin: 30px 0 8px; }
.recht p, .recht li { font-size: 16px; }
.zurueck { display: inline-block; margin-top: 10px; font-size: 15px; }
.ab-preis { font-size: 20px; margin: 0 0 6px; }
.ab-preis strong { font-weight: 600; color: var(--akzent-dunkel); }
