/* Unterseiten: Neu, Deine Daten, Hilfe. */

.seitenkopf { position: relative; overflow: hidden; }
.seitenkopf .eyebrow { margin-bottom: 4px; }
.seitenkopf h1 em { white-space: nowrap; }
.abschnitt { padding: clamp(48px, 7vw, 96px) 0; }
.abschnitt + .abschnitt { border-top: 1px solid var(--hair); }
.abschnitt h2 { font-size: clamp(32px, 4.4vw, 52px); margin: 14px 0 18px; }
.abschnitt .lead { font-size: 18px; color: var(--ink2); max-width: 36em; }
.on-ink.abschnitt { background: var(--night); color: var(--paper-on-ink); }
.on-ink.abschnitt h2 { color: var(--paper-on-ink); }
.on-ink.abschnitt .lead { color: var(--muted-on-ink); }
.sand { background: var(--sand); }

.cta-band { padding: clamp(56px, 8vw, 110px) 0; text-align: center; }
.cta-band h2 { font-size: clamp(34px, 5vw, 60px); margin-bottom: 26px; }
.cta-band .knoepfe { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* =========================================================
   Neu in Ronvo — die Zeitleiste
   ========================================================= */
.zeitleiste { position: relative; padding-left: clamp(36px, 7vw, 96px); }
.zeitleiste::before, .zeitleiste-fuellung {
  content: ""; position: absolute; left: clamp(10px, 2.4vw, 30px); top: 8px; bottom: 0; width: 2px; border-radius: 2px;
}
.zeitleiste::before { background: var(--hair); }
.zeitleiste-fuellung { background: var(--ink); transform-origin: top; transform: scaleY(var(--fortschritt, 0)); }
.version { position: relative; padding-bottom: clamp(48px, 7vw, 88px); }
.version:last-child { padding-bottom: 0; }
.version::before {
  content: ""; position: absolute; left: calc(-1 * clamp(36px, 7vw, 96px) + clamp(10px, 2.4vw, 30px) - 7px); top: 18px;
  width: 16px; height: 16px; border-radius: 50%; background: var(--paper); box-shadow: inset 0 0 0 2px var(--ink3);
  transition: background-color 300ms ease, box-shadow 300ms ease, transform 400ms cubic-bezier(0.34, 1.5, 0.64, 1);
}
.version.erreicht::before { background: var(--lime); box-shadow: inset 0 0 0 2px var(--ink); transform: scale(1.15); }
.version-kopf { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 18px; }
.version-nr {
  font-family: var(--serif); font-weight: 300; font-size: clamp(56px, 8vw, 104px); line-height: 0.95; letter-spacing: -0.04em;
  font-variant-numeric: lining-nums;
}
.version-datum { font-family: var(--mono); font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink3); }
.version .neu { font-family: var(--mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; background: var(--lime); color: var(--lime-ink); padding: 3px 9px 2px; border-radius: 999px; }
.version-titel { font-family: var(--serif); font-style: italic; font-size: clamp(21px, 2.4vw, 27px); line-height: 1.3; margin: 14px 0 16px; max-width: 32em; }
.version ul { list-style: none; display: grid; gap: 10px; max-width: 46em; }
.version li { position: relative; padding-left: 22px; color: var(--ink2); }
.version li::before { content: ""; position: absolute; left: 2px; top: 0.62em; width: 8px; height: 8px; border-radius: 2px; background: var(--sand-deep); transform: rotate(45deg); }
.version li b { color: var(--ink); font-weight: 600; }
.version.klein .version-nr { font-size: clamp(36px, 5vw, 56px); }
.version.klein ul { gap: 6px; }

/* =========================================================
   Deine Daten — der Weg der Daten
   ========================================================= */
.fluss {
  position: relative; margin-top: clamp(32px, 5vw, 56px);
  background: var(--card); border-radius: 28px; box-shadow: 0 0 0 1px var(--hair), 0 40px 80px -50px rgba(28, 27, 22, 0.45);
  padding: clamp(18px, 3vw, 32px);
}
.fluss svg { width: 100%; height: auto; overflow: visible; }
.fluss .linie { fill: none; stroke: var(--sand-deep); stroke-width: 3; stroke-linecap: round; }
.fluss .linie.gestrichelt { stroke-dasharray: 2 9; }
.fluss .knoten rect { fill: var(--paper); stroke: var(--hair); stroke-width: 1.5; }
.fluss .knoten.ich rect { fill: var(--ink); stroke: none; }
.fluss .knoten.ich text { fill: var(--paper-on-ink); }
.fluss .knoten.ich .klein { fill: var(--muted-on-ink); }
.fluss .knoten text { font-family: var(--sans); font-size: 17px; font-weight: 600; fill: var(--ink); }
.fluss .knoten .klein { font-family: var(--mono); font-size: 11.5px; font-weight: 500; letter-spacing: 0.06em; fill: var(--ink3); }
.fluss .knoten.aus rect { stroke-dasharray: 5 5; }
.fluss .paket rect { rx: 10; }
.fluss .paket text { font-family: var(--mono); font-size: 12px; font-weight: 600; }
.fluss .paket.lime rect { fill: var(--lime); }
.fluss .paket.lime text { fill: var(--lime-ink); }
.fluss .paket.tinte rect { fill: var(--ink); }
.fluss .paket.tinte text { fill: var(--paper-on-ink); }
.fluss .paket.sand rect { fill: var(--sand-deep); }
.fluss .paket.sand text { fill: var(--ink); }
.fluss-legende { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; font-size: 13.5px; color: var(--ink2); }
.fluss-legende span { display: inline-flex; align-items: center; gap: 8px; }
.fluss-legende i { width: 22px; height: 12px; border-radius: 6px; }
.fluss-hoch { display: none; }
@media (max-width: 760px) { .fluss-breit { display: none; } .fluss-hoch { display: block; } }

.orte { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); margin-top: clamp(32px, 5vw, 56px); }
@media (max-width: 760px) { .orte { grid-template-columns: 1fr; } }
.ort { background: var(--card); border-radius: 24px; padding: 26px 26px 24px; box-shadow: 0 0 0 1px var(--hair); }
.ort.dunkel { background: var(--ink); color: var(--paper-on-ink); box-shadow: none; }
.ort-kopf { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.ort-icon { width: 40px; height: 40px; border-radius: 12px; background: var(--sand); display: grid; place-items: center; flex: 0 0 auto; }
.ort.dunkel .ort-icon { background: rgba(241, 238, 228, 0.1); }
.ort-icon svg { width: 22px; height: 22px; }
.ort h3 { font-size: 22px; }
.ort ul { list-style: none; display: grid; gap: 10px; }
.ort li { position: relative; padding-left: 26px; color: var(--ink2); font-size: 15.5px; }
.ort.dunkel li { color: var(--muted-on-ink); }
.ort li::before {
  content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.6 2.6L12 5.4' fill='none' stroke='%233A4409' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat;
}
.ort li.nein::before { background: var(--sand-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 5l6 6M11 5l-6 6' fill='none' stroke='%231C1B16' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 10px no-repeat; }
.ort li b { color: var(--ink); font-weight: 600; }
.ort.dunkel li b { color: var(--paper-on-ink); }

/* Probieren: so sieht die KI deinen Satz */
.probe { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; margin-top: clamp(28px, 4vw, 44px); }
@media (max-width: 860px) { .probe { grid-template-columns: 1fr; } }
.probe-feld { border-radius: 22px; padding: 18px 20px 20px; display: grid; gap: 10px; align-content: start; }
.probe-feld.du { background: var(--paper); color: var(--ink); }
.probe-feld.ki { background: #000; color: var(--paper-on-ink); box-shadow: 0 0 0 1px var(--hair-on-ink); }
.probe-label { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink3); display: flex; justify-content: space-between; gap: 10px; }
.probe-feld.ki .probe-label { color: var(--muted-on-ink); }
.probe textarea {
  width: 100%; min-height: 150px; resize: vertical; border: 0; border-radius: 12px; padding: 12px 14px;
  font-family: var(--serif); font-size: 19px; line-height: 1.45; color: var(--ink); background: var(--card);
  box-shadow: inset 0 0 0 1px var(--hair);
}
.probe textarea:focus { outline: none; box-shadow: inset 0 0 0 2px var(--lime-ink); }
.probe-ausgabe { font-family: var(--serif); font-size: 19px; line-height: 1.45; min-height: 150px; padding: 12px 2px; white-space: pre-wrap; overflow-wrap: anywhere; }
.probe-ausgabe .ersetzt { font-family: var(--mono); font-size: 0.8em; background: var(--lime); color: var(--ink); border-radius: 4px; padding: 0 4px; animation: ersetzt 420ms var(--ease-out); }
.probe-ausgabe .maskiert { font-family: var(--mono); font-size: 0.8em; background: rgba(241, 238, 228, 0.16); border-radius: 4px; padding: 0 4px; }
@keyframes ersetzt { from { filter: blur(4px); opacity: 0.2; } }
.probe-kunden { display: flex; flex-wrap: wrap; gap: 6px; }
.probe-kunden button { font-size: 12.5px; padding: 5px 10px; border-radius: 999px; background: var(--sand); color: var(--ink); transition: transform 160ms var(--ease-out); }
.probe-kunden button:active { transform: scale(0.96); }
.probe-hinweis { font-size: 13px; color: var(--muted-on-ink); }

/* =========================================================
   Hilfe — Erste Schritte und Fragen
   ========================================================= */
.schritte { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2vw, 22px); margin-top: clamp(28px, 4vw, 48px); counter-reset: schritt; }
@media (max-width: 960px) { .schritte { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .schritte { grid-template-columns: 1fr; } }
.schritt { background: var(--card); border-radius: 22px; padding: 22px; box-shadow: 0 0 0 1px var(--hair); counter-increment: schritt; }
.schritt::before { content: counter(schritt); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: var(--lime); font-family: var(--mono); font-weight: 700; font-size: 14px; margin-bottom: 16px; }
.schritt h3 { font-size: 19px; margin-bottom: 6px; }
.schritt p { color: var(--ink2); font-size: 15px; }

.fragen-kopf { display: flex; flex-wrap: wrap; gap: 18px; align-items: end; justify-content: space-between; }
.suche { position: relative; flex: 1 1 280px; max-width: 420px; }
.suche input {
  width: 100%; min-height: 50px; border: 0; border-radius: 999px; padding: 0 18px 0 46px;
  font: inherit; font-size: 16px; color: var(--ink); background: var(--card); box-shadow: inset 0 0 0 1.5px var(--hair);
  transition: box-shadow 160ms ease;
}
.suche input:focus { outline: none; box-shadow: inset 0 0 0 2px var(--ink); }
.suche svg { position: absolute; left: 16px; top: 50%; width: 19px; height: 19px; transform: translateY(-50%); color: var(--ink3); pointer-events: none; }
.fragen-gruppe { margin-top: clamp(32px, 4vw, 48px); }
.fragen-gruppe > h3 { font-family: var(--mono); font-size: 11.5px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink3); margin-bottom: 8px; }
.frage { border-top: 1px solid var(--hair); }
.fragen-gruppe .frage:last-child { border-bottom: 1px solid var(--hair); }
.frage summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 0; font-family: var(--serif); font-size: clamp(19px, 2vw, 22px); font-weight: 400; line-height: 1.3;
}
.frage summary::-webkit-details-marker { display: none; }
.frage summary .plus { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--sand); transition: transform 300ms var(--ease-out), background-color 200ms ease; }
.frage summary .plus svg { width: 14px; height: 14px; }
.frage[open] summary .plus { transform: rotate(45deg); background: var(--lime); }
.frage .antwort { padding: 0 0 22px; max-width: 46em; color: var(--ink2); }
.frage .antwort p + p, .frage .antwort p + ul, .frage .antwort ul + p { margin-top: 10px; }
.frage .antwort ul { padding-left: 20px; display: grid; gap: 6px; }
.frage .antwort b { color: var(--ink); font-weight: 600; }
.frage .antwort a { color: var(--ink); text-decoration-color: var(--lime); text-decoration-thickness: 3px; text-underline-offset: 3px; }
.js .frage .antwort { overflow: hidden; }
.frage.treffer summary { background: linear-gradient(90deg, rgba(217, 242, 63, 0.35), transparent 70%); }
.keine-treffer { margin-top: 28px; color: var(--ink2); }

.kontakt {
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; align-items: center;
  background: var(--ink); color: var(--paper-on-ink); border-radius: 28px; padding: clamp(26px, 4vw, 48px);
}
@media (max-width: 760px) { .kontakt { grid-template-columns: 1fr; } }
.kontakt h2 { color: var(--paper-on-ink); margin-top: 0; }
.kontakt p { color: var(--muted-on-ink); }
.kontakt .wege { display: grid; gap: 12px; justify-items: start; }
