/* TREVORIQ – eine Stylesheet-Datei, keine fremden Schriften, keine Frameworks */
:root {
  --tinte: #0B1B33;
  --tinte2: #12305A;
  --text: #13233D;
  --leise: #5A6A82;
  --linie: #DDE4EE;
  --flaeche: #F5F7FB;
  --weiss: #FFFFFF;
  --pruef: #0FA595;
  --pruef-hell: #2DD4BF;
  --bernstein: #F59E0B;
  --bernstein-flaeche: #FFF6E5;
  --rot: #E5484D;
  --rot-flaeche: #FDECEC;
  --gruen: #16A34A;
  --gruen-flaeche: #E8F7EE;
  --radius: 14px;
  --schatten: 0 1px 2px rgba(11,27,51,.06), 0 8px 28px rgba(11,27,51,.08);
  --breite: 1160px;
  --schrift: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--schrift); color: var(--text); background: var(--weiss); line-height: 1.6; font-size: 17px; }
img, svg { max-width: 100%; }
a { color: var(--pruef); }
h1, h2, h3 { line-height: 1.15; letter-spacing: -.02em; margin: 0 0 .5em; color: var(--tinte); }
h1 { font-size: clamp(2.3rem, 5.2vw, 4rem); letter-spacing: -.035em; }
h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
h3 { font-size: 1.15rem; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
.huelle { max-width: var(--breite); margin: 0 auto; padding: 0 24px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Kopf */
.kopf { position: sticky; top: 0; z-index: 50; background: rgba(11,27,51,.86); backdrop-filter: saturate(160%) blur(12px); -webkit-backdrop-filter: saturate(160%) blur(12px); border-bottom: 1px solid rgba(255,255,255,.08); }
.kopf .huelle { display: flex; align-items: center; justify-content: space-between; height: 68px; gap: 20px; }
.kopf .marke img { height: 30px; display: block; }
.kopf nav { display: flex; align-items: center; gap: 26px; }
.kopf nav a { color: rgba(255,255,255,.78); text-decoration: none; font-size: .93rem; margin-left: 4px; white-space: nowrap; }
.kopf nav a:hover { color: #fff; }
.sprache { display: flex; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; overflow: hidden; margin-left: 6px; }
.sprache a { padding: 3px 10px; font-size: .78rem; font-weight: 600; letter-spacing: .04em; margin: 0 !important; }
.sprache a.aktiv { background: rgba(255,255,255,.14); color: #fff; }
.knopf { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 22px; border-radius: 10px; font-weight: 600; font-size: .98rem; text-decoration: none; border: 0; cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; font-family: inherit; }
.knopf:hover { transform: translateY(-1px); }
.knopf.haupt { background: var(--pruef-hell); color: var(--tinte); box-shadow: 0 6px 24px rgba(45,212,191,.35); }
.knopf.haupt:hover { background: #5EEAD4; }
.knopf.zweit { background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.2); }
.knopf.dunkel { background: var(--tinte); color: #fff; }
.knopf.klein { padding: 9px 16px; font-size: .9rem; }
.menueknopf { display: none; background: none; border: 1px solid rgba(255,255,255,.25); color: #fff; border-radius: 8px; padding: 6px 10px; font-size: 1rem; }

/* Bühne */
.buehne { position: relative; overflow: hidden; background: radial-gradient(1100px 520px at 78% 18%, rgba(45,212,191,.16), transparent 60%), radial-gradient(800px 500px at 8% 90%, rgba(47,85,151,.35), transparent 60%), var(--tinte); color: #fff; padding: 84px 0 96px; }
.buehne::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 44px 44px; -webkit-mask-image: radial-gradient(ellipse at 60% 30%, #000 20%, transparent 75%); mask-image: radial-gradient(ellipse at 60% 30%, #000 20%, transparent 75%); pointer-events: none; }
.buehne .huelle { position: relative; display: flex; align-items: center; gap: 56px; }
.buehne-text { flex: 1 1 52%; min-width: 0; }
.buehne-bild { flex: 1 1 48%; min-width: 0; }
.buehne h1 { color: #fff; }
.buehne h1 em { font-style: normal; background: linear-gradient(92deg, #5EEAD4, #2DD4BF 45%, #FCD34D); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dachzeile { display: inline-flex; align-items: center; gap: 10px; font-size: .82rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pruef-hell); margin-bottom: 22px; }
.dachzeile i { width: 8px; height: 8px; border-radius: 50%; background: var(--pruef-hell); box-shadow: 0 0 0 4px rgba(45,212,191,.2); animation: puls 2.4s infinite; }
@keyframes puls { 50% { box-shadow: 0 0 0 9px rgba(45,212,191,0); } }
.lead { font-size: 1.2rem; color: rgba(255,255,255,.8); max-width: 600px; margin-bottom: 30px; }
.knopfreihe { display: flex; flex-wrap: wrap; gap: 12px; }
.knopfreihe > * { margin: 0 12px 12px 0; }
.knopfreihe > *:last-child { margin-right: 0; }
.vertrauen { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 26px; padding: 0; list-style: none; font-size: .9rem; color: rgba(255,255,255,.7); }
.vertrauen li { display: flex; align-items: center; gap: 8px; margin-right: 6px; }
.vertrauen li::before { content: ""; width: 16px; height: 16px; flex: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%232DD4BF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

/* Berichtskarte */
.bericht { background: #fff; color: var(--text); border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.08); overflow: hidden; transform: perspective(1400px) rotateY(-5deg) rotateX(2deg); transition: transform .5s; }
.bericht:hover { transform: none; }
.bericht-kopf { padding: 18px 22px 14px; border-bottom: 1px solid var(--linie); display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.bericht-kopf small { display: block; color: var(--leise); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; }
.bericht-kopf strong { display: block; font-size: 1.02rem; color: var(--tinte); }
.bericht-kopf .wert { font-family: var(--mono); font-size: .86rem; color: var(--leise); }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; font-size: .72rem; font-weight: 700; letter-spacing: .05em; white-space: nowrap; }
.status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.status.kritisch { background: var(--rot-flaeche); color: var(--rot); }
.status.pruefen { background: var(--bernstein-flaeche); color: #B45309; }
.status.ok { background: var(--gruen-flaeche); color: var(--gruen); }
.zaehler { display: flex; gap: 8px; padding: 12px 22px; background: var(--flaeche); font-size: .82rem; color: var(--leise); flex-wrap: wrap; }
.zaehler span { margin-right: 10px; }
.zaehler b { color: var(--tinte); }
.befunde { list-style: none; margin: 0; padding: 6px 0; }
.befunde li { display: flex; gap: 12px; padding: 10px 22px; align-items: flex-start; border-bottom: 1px solid #EEF2F7; opacity: 0; transform: translateY(6px); animation: rein .5s forwards; }
.befunde li:last-child { border-bottom: 0; }
.befunde li:nth-child(1) { animation-delay: .3s; } .befunde li:nth-child(2) { animation-delay: .55s; } .befunde li:nth-child(3) { animation-delay: .8s; } .befunde li:nth-child(4) { animation-delay: 1.05s; } .befunde li:nth-child(5) { animation-delay: 1.3s; }
@keyframes rein { to { opacity: 1; transform: none; } }
.punkt { width: 9px; height: 9px; border-radius: 50%; margin-top: 7px; flex: none; }
.punkt.kritisch { background: var(--rot); box-shadow: 0 0 0 3px var(--rot-flaeche); }
.punkt.pruefen { background: var(--bernstein); box-shadow: 0 0 0 3px var(--bernstein-flaeche); }
.befund { flex: 1; min-width: 0; font-size: .9rem; }
.befund b { color: var(--tinte); display: block; font-size: .92rem; }
.befund .aenderung { font-family: var(--mono); font-size: .8rem; color: var(--leise); }
.befund .aenderung s { color: #9AA6B8; }
.befund .aenderung ins { text-decoration: none; color: var(--tinte); font-weight: 600; }
.regel { font-family: var(--mono); font-size: .7rem; color: #8A97AA; border: 1px solid var(--linie); border-radius: 5px; padding: 1px 5px; flex: none; margin-top: 3px; }
.bericht-fuss { padding: 14px 22px; background: #FBFCFE; border-top: 1px solid var(--linie); display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.bericht-fuss small { color: var(--leise); font-size: .78rem; max-width: 280px; }
.beispiel-hinweis { text-align: center; color: rgba(255,255,255,.45); font-size: .76rem; margin-top: 14px; }

/* Abschnitte */
.abschnitt { padding: 104px 0; scroll-margin-top: 60px; }
.abschnitt.grau { background: var(--flaeche); }
.abschnitt.dunkel { background: var(--tinte); color: rgba(255,255,255,.82); }
.abschnitt.dunkel h2, .abschnitt.dunkel h3 { color: #fff; }
.kopfzeile { max-width: 760px; margin-bottom: 56px; }
.kopfzeile.mitte { margin-left: auto; margin-right: auto; text-align: center; }
.kopfzeile p { font-size: 1.13rem; color: var(--leise); }
.dunkel .kopfzeile p { color: rgba(255,255,255,.7); }
.marke-klein { font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--pruef); margin-bottom: 12px; display: block; }
.dunkel .marke-klein { color: var(--pruef-hell); }

.reihe { display: flex; flex-wrap: wrap; gap: 24px; margin: 0 -12px; }
.reihe > * { flex: 1 1 260px; margin: 0 12px 24px; }
.karte { background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); padding: 28px; box-shadow: var(--schatten); }
.karte p { color: var(--leise); margin: 0; font-size: .98rem; }
.symbol { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; background: #E6F8F5; color: var(--pruef); }
.symbol.rot { background: var(--rot-flaeche); color: var(--rot); }
.symbol.gelb { background: var(--bernstein-flaeche); color: #B45309; }
.symbol svg { width: 22px; height: 22px; }

/* Ablauf */
.ablauf { display: flex; gap: 0; counter-reset: schritt; margin: 0 -12px; flex-wrap: wrap; }
.ablauf li { list-style: none; flex: 1 1 220px; margin: 0 12px 24px; position: relative; padding-top: 58px; }
.ablauf li::before { counter-increment: schritt; content: counter(schritt, decimal-leading-zero); position: absolute; top: 0; left: 0; font-family: var(--mono); font-weight: 700; font-size: .9rem; color: var(--pruef); width: 42px; height: 42px; border-radius: 50%; border: 2px solid var(--pruef); display: flex; align-items: center; justify-content: center; background: #fff; }
.ablauf li::after { content: ""; position: absolute; top: 21px; left: 54px; right: -12px; height: 2px; background: linear-gradient(90deg, var(--pruef), transparent); opacity: .35; }
.ablauf li:last-child::after { display: none; }
.ablauf p { color: var(--leise); font-size: .98rem; }

/* Vergleich (interaktiv) */
.vergleich { display: flex; gap: 22px; align-items: stretch; flex-wrap: wrap; }
.vergleich > * { margin-bottom: 22px; }
.dokument { align-self: flex-start; flex: 1 1 300px; background: #fff; border: 1px solid var(--linie); border-radius: var(--radius); box-shadow: var(--schatten); overflow: hidden; margin-right: 22px; }
.dokument header { padding: 14px 18px; border-bottom: 1px solid var(--linie); display: flex; flex-direction: column; background: #FBFCFE; }
.dokument header b { font-size: .95rem; color: var(--tinte); }
.dokument header span { font-family: var(--mono); font-size: .76rem; color: var(--leise); }
.dokument dl { margin: 0; padding: 8px 0; }
.dokument .zeile { display: flex; justify-content: space-between; gap: 14px; padding: 7px 18px; font-size: .86rem; transition: background .2s; border-left: 3px solid transparent; }
.dokument dt { color: var(--leise); }
.dokument dd { margin: 0; font-family: var(--mono); font-size: .8rem; text-align: right; color: var(--tinte); }
.dokument .zeile.anders.kritisch { background: #FFF5F5; }
.dokument .zeile.anders.pruefen { background: #FFFBF0; }
.dokument .zeile.hervor { border-left-color: var(--pruef); background: #E9FBF8 !important; }
.liste-befunde { flex: 1 1 320px; display: flex; flex-direction: column; gap: 10px; }
.liste-befunde button { text-align: left; background: #fff; border: 1px solid var(--linie); border-radius: 12px; padding: 12px 14px; cursor: pointer; display: flex; gap: 12px; align-items: flex-start; font-family: inherit; color: inherit; transition: border-color .15s, box-shadow .15s; margin-bottom: 10px; }
.liste-befunde button:hover, .liste-befunde button.aktiv { border-color: var(--pruef); box-shadow: 0 0 0 3px rgba(15,165,149,.12); }
.vergleich-hinweis { font-size: .86rem; color: var(--leise); margin-top: 6px; }

/* Prüfbereiche */
.reihe > .bereich { flex: 1 1 170px; }
.bereich ul { margin: 12px 0 0; padding: 0; list-style: none; }
.bereich li { padding: 5px 0 5px 22px; position: relative; color: var(--leise); font-size: .95rem; }
.bereich li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 8px; height: 8px; border-radius: 2px; background: var(--pruef); opacity: .7; }
.bereich.zahlung { border-color: #F6C8CA; background: linear-gradient(180deg, #FFF7F7, #fff 50%); }
.bereich.zahlung li::before { background: var(--rot); }

/* Prinzipien (dunkel) */
.prinzip { border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius); padding: 26px; background: rgba(255,255,255,.03); }
.prinzip p { color: rgba(255,255,255,.68); margin: 0; font-size: .97rem; }
.prinzip .symbol { background: rgba(45,212,191,.12); color: var(--pruef-hell); }
.code-zeile { font-family: var(--mono); font-size: .8rem; background: rgba(0,0,0,.25); border-radius: 8px; padding: 10px 12px; margin-top: 14px; color: #A7F3D0; overflow-x: auto; white-space: nowrap; }

/* Experten */
.experten { display: flex; gap: 48px; align-items: center; flex-wrap: wrap; }
.experten > div { flex: 1 1 380px; margin-bottom: 24px; }
.stufen { list-style: none; margin: 0; padding: 0; border: 1px solid var(--linie); border-radius: var(--radius); background: #fff; box-shadow: var(--schatten); overflow: hidden; }
.stufen li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 22px; border-bottom: 1px solid #EEF2F7; }
.stufen li:last-child { border-bottom: 0; }
.stufen li span { color: var(--leise); font-size: .9rem; display: block; }
.stufen li b { color: var(--tinte); }
.stufen .preis { font-weight: 700; color: var(--tinte); white-space: nowrap; }
.stufen li.ki { background: #F0FBF9; }
.partnerzeile { display: flex; align-items: center; gap: 12px; margin-top: 22px; font-size: .9rem; color: var(--leise); flex-wrap: wrap; }
.partnerzeile span { margin-right: 8px; }
.land { display: inline-block; padding: 3px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--linie); font-size: .8rem; margin: 0 6px 6px 0; }
.land.aktiv { border-color: var(--pruef); color: var(--pruef); font-weight: 600; }

/* Preise */
.preise { display: flex; gap: 20px; flex-wrap: wrap; margin: 0 -10px; }
.tarif { flex: 1 1 230px; margin: 0 10px 20px; background: #fff; border: 1px solid var(--linie); border-radius: 16px; padding: 28px 24px; display: flex; flex-direction: column; position: relative; }
.tarif.empfohlen { border: 2px solid var(--pruef); box-shadow: 0 18px 50px rgba(15,165,149,.16); }
.tarif .band { position: absolute; top: -12px; left: 24px; background: var(--pruef); color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; }
.tarif h3 { margin-bottom: 4px; }
.tarif .betrag { font-size: 2.3rem; font-weight: 750; color: var(--tinte); letter-spacing: -.03em; margin: 10px 0 0; }
.tarif .betrag small { font-size: .95rem; font-weight: 500; color: var(--leise); letter-spacing: 0; }
.tarif .fuer { color: var(--leise); font-size: .92rem; min-height: 44px; }
.tarif ul { list-style: none; padding: 0; margin: 18px 0 24px; flex: 1; }
.tarif li { padding: 6px 0 6px 26px; position: relative; font-size: .94rem; }
.tarif li::before { content: ""; position: absolute; left: 0; top: 10px; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%230FA595' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.tarif .knopf { width: 100%; }
.knopf.rahmen { background: #fff; color: var(--tinte); border: 1px solid var(--linie); }
.rechnung { margin-top: 26px; display: flex; gap: 18px; align-items: center; background: #fff; border: 1px dashed #B9C6D8; border-radius: var(--radius); padding: 18px 22px; }
.rechnung p { margin: 0; color: var(--leise); }
.rechnung b { color: var(--tinte); }
.fussnote { font-size: .84rem; color: var(--leise); margin-top: 16px; }

/* Sicherheit */
.zusagen { display: flex; flex-wrap: wrap; margin: 0 -12px; }
.zusagen > div { flex: 1 1 300px; margin: 0 12px 26px; display: flex; gap: 16px; }
.zusagen .symbol { flex: none; margin: 0; }
.zusagen h3 { margin-bottom: 4px; }
.zusagen p { color: var(--leise); margin: 0; font-size: .96rem; }

/* Fahrplan */
.fahrplan { display: flex; gap: 20px; flex-wrap: wrap; margin: 0 -10px; }
.etappe { flex: 1 1 260px; margin: 0 10px 20px; border-top: 3px solid var(--linie); padding-top: 18px; }
.etappe.jetzt { border-top-color: var(--pruef); }
.etappe small { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .76rem; color: var(--leise); }
.etappe.jetzt small { color: var(--pruef); }
.etappe ul { margin: 10px 0 0; padding-left: 18px; color: var(--leise); font-size: .95rem; }

/* FAQ */
.fragen { max-width: 820px; margin: 0 auto; }
.fragen details { border-bottom: 1px solid var(--linie); padding: 18px 0; }
.fragen summary { cursor: pointer; font-weight: 600; color: var(--tinte); font-size: 1.05rem; list-style: none; display: flex; justify-content: space-between; gap: 20px; }
.fragen summary::-webkit-details-marker { display: none; }
.fragen summary::after { content: "+"; color: var(--pruef); font-size: 1.4rem; line-height: 1; }
.fragen details[open] summary::after { content: "–"; }
.fragen details p { color: var(--leise); margin: 12px 0 0; }

/* Pilot / Formular */
.pilot { display: flex; gap: 56px; align-items: flex-start; flex-wrap: wrap; }
.pilot > div { flex: 1 1 380px; margin-bottom: 24px; }
.formular { background: #fff; border-radius: 18px; padding: 30px; color: var(--text); box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.feld { margin-bottom: 14px; }
.feld label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 5px; color: var(--tinte); }
.feld input, .feld select, .feld textarea { width: 100%; font: inherit; font-size: .96rem; padding: 11px 12px; border: 1px solid #CBD5E1; border-radius: 9px; background: #fff; color: var(--text); }
.feld input:focus, .feld select:focus, .feld textarea:focus { outline: 2px solid rgba(15,165,149,.35); border-color: var(--pruef); }
.feldpaar { display: flex; gap: 12px; flex-wrap: wrap; }
.feldpaar .feld { flex: 1 1 180px; margin-right: 12px; }
.feldpaar .feld:last-child { margin-right: 0; }
.zustimmung { display: flex; gap: 10px; font-size: .84rem; color: var(--leise); margin: 6px 0 18px; align-items: flex-start; }
.zustimmung input { margin-top: 4px; }
.honig { position: absolute; left: -9999px; }
.meldung { padding: 14px 16px; border-radius: 10px; margin-bottom: 16px; font-size: .95rem; }
.meldung.gut { background: var(--gruen-flaeche); color: #14532D; }
.meldung.schlecht { background: var(--rot-flaeche); color: #7F1D1D; }
.pilot ul.haken { list-style: none; padding: 0; margin: 20px 0 0; }
.pilot ul.haken li { padding: 7px 0 7px 30px; position: relative; color: rgba(255,255,255,.8); }
.pilot ul.haken li::before { content: ""; position: absolute; left: 0; top: 11px; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%232DD4BF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

/* Fuß */
.fuss { background: #07111F; color: rgba(255,255,255,.6); padding: 56px 0 40px; font-size: .9rem; }
.fuss .huelle { display: flex; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.fuss img { height: 26px; margin-bottom: 14px; }
.fuss a { color: rgba(255,255,255,.75); text-decoration: none; margin-right: 18px; }
.fuss a:hover { color: #fff; }
.fuss p { margin: 0 0 6px; }

/* Rechtsseiten */
.recht { max-width: 800px; margin: 0 auto; padding: 64px 24px 96px; }
.recht h1 { font-size: 2.2rem; }
.recht h2 { font-size: 1.3rem; margin-top: 2em; }
.recht p, .recht li { color: #33435C; }

/* Bewegung zurücknehmen */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .befunde li { opacity: 1; transform: none; }
  .bericht { transform: none; }
}

/* Schmal */
@media (max-width: 980px) {
  .buehne .huelle { flex-direction: column; align-items: stretch; }
  .bericht { transform: none; }
  .ablauf li::after { display: none; }
}
@media (max-width: 1080px) {
  .kopf nav { display: none; position: absolute; top: 68px; left: 0; right: 0; background: var(--tinte); flex-direction: column; align-items: flex-start; padding: 16px 24px 24px; gap: 14px; border-bottom: 1px solid rgba(255,255,255,.1); }
  .kopf nav.offen { display: flex; }
  .kopf nav a { margin: 0 0 6px; font-size: 1rem; }
  .menueknopf { display: block; margin-left: auto; }
  .kopf .ruf { margin-top: 6px; }
}
@media (max-width: 560px) {
  body { font-size: 16px; }
  .huelle { padding: 0 16px; }
  .abschnitt { padding: 72px 0; }
  .buehne { padding: 56px 0 72px; }
  .bericht-kopf, .befunde li, .zaehler, .bericht-fuss { padding-left: 16px; padding-right: 16px; }
  .regel { display: none; }
  .dokument { margin-right: 0; }
  .rechnung { flex-direction: column; align-items: flex-start; }
  .formular { padding: 22px 18px; }
}
