/* Verwaltungs-Brain: Stil gemaess DESIGN.md */
@font-face { font-family: "Boska"; src: url(fonts/boska-400.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Boska"; src: url(fonts/boska-400i.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Boska"; src: url(fonts/boska-500.woff2) format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Switzer"; src: url(fonts/switzer-400.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Switzer"; src: url(fonts/switzer-500.woff2) format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Switzer"; src: url(fonts/switzer-600.woff2) format("woff2"); font-weight: 600; font-display: swap; }

:root {
  --papier: #F2F1EC; --flaeche: #E8E6DF; --tinte: #0D1012; --grau: #5B6166; --linie: rgba(13,16,18,.14);
  --akzent: #0E4A57; --akzent-hell: #A9CFCF;
  --notfall: #A8322A; --mensch: #6B3A5B; --pruefen: #94660C; --selbst: #4B5563; --bereit: #2E6A4C; --archiv: #8A8F94;
  --rand: max(20px, 6vw); --sektion: 160px;
  --display: "Boska", Georgia, serif; --text: "Switzer", "Helvetica Neue", sans-serif;
  --t13: 13px; --t15: 15px; --t18: 18px; --t24: 24px; --t32: 32px; --t42: 42px; --t56: 56px; --t75: 75px; --t100: 100px; --t133: 133px; --t176: 176px;
}
@media (max-width: 760px) { :root { --sektion: 96px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
body { margin: 0; background: var(--papier); color: var(--tinte); font: 400 var(--t18)/1.55 var(--text);
  font-feature-settings: "tnum" 1, "ss01" 1; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--akzent); color: var(--papier); }
a { color: inherit; }
h1, h2, h3 { margin: 0; font-weight: 400; }
p { margin: 0; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--tinte); color: var(--papier); padding: 8px 16px; z-index: 50; }
.skip:focus { left: 8px; }
:focus-visible { outline: 2px solid var(--akzent); outline-offset: 3px; }

h2 { font: 400 clamp(var(--t42), 6.2vw, var(--t100))/1.02 var(--display); letter-spacing: -0.02em; max-width: 15ch; }
h3 { font: 500 var(--t18)/1.3 var(--text); }
.lead { font-size: var(--t24); line-height: 1.45; color: var(--grau); max-width: 34ch; }
.klein { font-size: var(--t15); color: var(--grau); max-width: 52ch; }
.zeilen-maske { display: block; overflow: hidden; padding: .04em 0 .16em; margin: -.04em 0 -.16em; }
.zeilen-innen { display: block; }

/* Knopf: eckig, ruhig */
.knopf { display: inline-flex; align-items: center; gap: 12px; padding: 18px 28px; background: var(--akzent); color: #fff;
  font: 500 var(--t15)/1 var(--text); letter-spacing: .01em; text-decoration: none; border: 1px solid var(--akzent);
  transition: background .25s, color .25s; }
.knopf::after { content: ""; width: 18px; height: 1px; background: currentColor; transition: width .25s; }
.knopf:hover { background: var(--tinte); border-color: var(--tinte); }
.knopf:hover::after { width: 28px; }
.knopf-klein { padding: 12px 18px; }
.knopf-klein::after { display: none; }
.knopf-gross { padding: 24px 40px; font-size: var(--t18); }

/* Kopf */
.kopf { position: fixed; inset: 0 0 auto; z-index: 20; display: flex; align-items: center; gap: 40px; padding: 18px var(--rand);
  transition: background .3s, border-color .3s; border-bottom: 1px solid transparent; }
.kopf.voll { background: rgba(242,241,236,.92); backdrop-filter: blur(10px); border-color: var(--linie); }
.marke { display: flex; align-items: center; gap: 12px; text-decoration: none; font: 400 var(--t24)/1 var(--display); letter-spacing: -.01em; }
.marke-zeichen { width: 22px; height: 22px; fill: var(--tinte); }
.kopf-nav { display: flex; gap: 32px; margin-left: auto; font-size: var(--t15); }
.kopf-nav a { text-decoration: none; color: var(--grau); transition: color .2s; }
.kopf-nav a:hover { color: var(--tinte); }
@media (max-width: 900px) { .kopf-nav { display: none; } .kopf .knopf { margin-left: auto; } }
@media (max-width: 420px) { .marke span { font-size: 19px; white-space: nowrap; } .kopf { gap: 16px; } .kopf .knopf-klein { padding: 10px 12px; font-size: 13px; } }

/* ============ HERO (Variante A: geteilt) ============ */
.hero { min-height: 100vh; padding: 140px var(--rand) 64px; display: grid; grid-template-columns: 5fr 6fr; gap: 6vw; align-items: center; max-width: 1600px; margin: 0 auto; }
.hero-zeit { font: 500 var(--t15)/1 var(--text); color: var(--grau); margin-bottom: 32px; display: flex; align-items: center; gap: 12px; }
.hero-zeit::before { content: ""; width: 32px; height: 1px; background: var(--tinte); }
.hero-titel { font: 400 clamp(var(--t56), 6.4vw, var(--t100))/0.98 var(--display); letter-spacing: -0.025em; max-width: 11ch; }
.hero-lead { margin-top: 40px; font-size: var(--t24); line-height: 1.45; color: var(--grau); max-width: 30ch; }
.hero-aktion { margin-top: 48px; display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.hero-hinweis { font-size: var(--t15); color: var(--grau); }
.hero-buehne { position: relative; }
.buehne-legende { margin-top: 12px; font-size: var(--t13); color: var(--grau); text-align: right; }

.postfach { background: #FBFAF7; border: 1px solid var(--linie); color: var(--tinte); }
.postfach-kopf { display: flex; justify-content: space-between; align-items: baseline; padding: 20px 24px 14px; border-bottom: 1px solid var(--linie); }
.postfach-kopf span:first-child { font: 400 var(--t24)/1 var(--display); }
.postfach-zahl { font-size: var(--t13); color: var(--grau); }
.postfach-zusammen { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 12px 24px; border-bottom: 1px solid var(--linie); font-size: var(--t13); min-height: 44px;
  opacity: 0; transition: opacity .6s; }
.postfach-zusammen.da { opacity: 1; }
.postfach-liste { list-style: none; margin: 0; padding: 0; position: relative; }
.pf-mail { display: grid; grid-template-columns: 4px 1fr auto; gap: 0 16px; padding: 12px 24px 12px 0; border-bottom: 1px solid var(--linie); background: #FBFAF7; }
.pf-mail::before { content: ""; grid-row: 1 / span 2; background: transparent; transition: background .4s; }
.pf-mail b { font-weight: 500; font-size: var(--t15); }
.pf-mail time { font-size: var(--t13); color: var(--grau); text-align: right; }
.pf-betreff { grid-column: 2; font-size: var(--t15); color: var(--grau); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pf-status { grid-column: 3; grid-row: 2; font-size: var(--t13); text-align: right; opacity: 0; transition: opacity .4s; white-space: nowrap; }
.pf-mail.eingestuft .pf-status { opacity: 1; }
.pf-mail.eingestuft.notfall::before { background: var(--notfall); } .pf-mail.eingestuft.notfall .pf-status { color: var(--notfall); }
.pf-mail.eingestuft.mensch::before { background: var(--mensch); } .pf-mail.eingestuft.mensch .pf-status { color: var(--mensch); }
.pf-mail.eingestuft.pruefen::before { background: var(--pruefen); } .pf-mail.eingestuft.pruefen .pf-status { color: var(--pruefen); }
.pf-mail.eingestuft.selbst::before { background: var(--selbst); } .pf-mail.eingestuft.selbst .pf-status { color: var(--selbst); }
.pf-mail.eingestuft.bereit::before { background: var(--bereit); } .pf-mail.eingestuft.bereit .pf-status { color: var(--bereit); }
.pf-mail.eingestuft.archiv { opacity: .55; } .pf-mail.eingestuft.archiv::before { background: var(--archiv); }

.z { display: inline-flex; align-items: center; gap: 8px; color: var(--tinte); }
.z i { width: 8px; height: 8px; display: inline-block; }
.z.notfall i { background: var(--notfall); } .z.mensch i { background: var(--mensch); } .z.pruefen i { background: var(--pruefen); }
.z.selbst i { background: var(--selbst); } .z.bereit i { background: var(--bereit); } .z.archiv i { background: var(--archiv); }

/* Variante B: zentriert, Postfach darunter breit */
.hero-b .hero { grid-template-columns: 1fr; text-align: center; justify-items: center; padding-top: 180px; gap: 72px; }
.hero-b .hero-titel { max-width: 14ch; font-size: clamp(var(--t56), 8vw, var(--t133)); margin: 0 auto; }
.hero-b .hero-zeit { justify-content: center; }
.hero-b .hero-lead { margin-left: auto; margin-right: auto; }
.hero-b .hero-aktion { justify-content: center; }
.hero-b .hero-buehne { width: min(980px, 100%); }

/* Variante C: dunkel, Uhr gross */
.hero-c .hero { background: var(--tinte); color: var(--papier); max-width: none; }
.hero-c .kopf:not(.voll) { color: var(--papier); } .hero-c .kopf:not(.voll) .marke-zeichen { fill: var(--papier); }
.hero-c .kopf:not(.voll) .kopf-nav a { color: rgba(242,241,236,.7); }
.hero-c .hero-zeit { color: var(--akzent-hell); font: 400 var(--t56)/1 var(--display); }
.hero-c .hero-zeit::before { display: none; }
.hero-c .hero-lead, .hero-c .hero-hinweis, .hero-c .buehne-legende { color: rgba(242,241,236,.66); }
.hero-c .knopf { background: var(--papier); color: var(--tinte); border-color: var(--papier); }
.hero-c .knopf:hover { background: var(--akzent-hell); border-color: var(--akzent-hell); }

@media (max-width: 980px) {
  .hero { grid-template-columns: 1fr; padding-top: 120px; gap: 56px; min-height: 0; }
  .hero-titel { max-width: 12ch; }
}
@media (max-width: 520px) {
  .pf-mail { padding-right: 16px; gap: 0 12px; }
  .postfach-kopf, .postfach-zusammen { padding-left: 16px; padding-right: 16px; }
}

/* ============ STIMMEN ============ */
.stimmen { padding: var(--sektion) 0; border-top: 1px solid var(--linie); overflow: hidden; }
.stimmen-titel { padding: 0 var(--rand); font-size: var(--t15); color: var(--grau); margin-bottom: 56px; }
.stimmen-band { display: flex; gap: 8vw; padding: 0 var(--rand); width: max-content; }
.stimmen blockquote { margin: 0; font: italic 400 clamp(var(--t32), 4.4vw, var(--t75))/1.08 var(--display); letter-spacing: -.015em; max-width: 16ch; }
.ruhig .stimmen-band { width: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4vw; }
.ruhig .stimmen blockquote { font-size: clamp(var(--t24), 3vw, var(--t56)); }
@media (max-width: 760px) { .stimmen-band, .ruhig .stimmen-band { display: flex; flex-direction: column; width: auto; gap: 48px; } }

/* ============ SEKTIONEN allgemein ============ */
section { position: relative; }
.sektion-kopf { padding: 0 var(--rand); display: grid; gap: 32px; max-width: 1600px; margin: 0 auto 96px; }
.sektion-kopf .lead { margin-left: auto; }
@media (min-width: 981px) { .sektion-kopf { grid-template-columns: 7fr 5fr; align-items: end; } }

/* ============ ABLAUF ============ */
.ablauf { padding: var(--sektion) 0; background: var(--flaeche); }
.ablauf-raster { display: grid; grid-template-columns: 6fr 5fr; gap: 6vw; padding: 0 var(--rand); max-width: 1600px; margin: 0 auto; }
.ablauf-buehne { position: sticky; top: 104px; align-self: start; }
.mailkarte { background: #FBFAF7; border: 1px solid var(--linie); padding: 32px; }
.mailkarte-kopf { display: flex; justify-content: space-between; font-size: var(--t15); }
.mailkarte-kopf b { font-weight: 500; } .mailkarte-kopf span { color: var(--grau); }
.mailkarte-betreff { font: 400 var(--t32)/1.1 var(--display); margin: 8px 0 20px; }
.mailkarte-text { font-size: var(--t15); line-height: 1.6; color: var(--grau); padding-bottom: 20px; border-bottom: 1px solid var(--linie); }
mark { background: transparent; color: inherit; transition: background .5s, color .5s; }
.s1 mark[data-s="1"] { background: rgba(14,74,87,.12); color: var(--tinte); }
[data-s="2"], [data-s="3"], [data-s="4"], [data-s="5"] { transition: opacity .5s, transform .5s; }
.ablauf-buehne:not(.s2) [data-s="2"], .ablauf-buehne:not(.s3) [data-s="3"],
.ablauf-buehne:not(.s4) [data-s="4"], .ablauf-buehne:not(.s5) [data-s="5"] { opacity: 0; transform: translateY(8px); }
.mailkarte-daten { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; margin: 20px 0 0; padding-bottom: 20px; border-bottom: 1px solid var(--linie); }
.mailkarte-daten dt { font-size: var(--t13); color: var(--grau); }
.mailkarte-daten dd { margin: 2px 0 0; font-size: var(--t15); font-weight: 500; }
.mailkarte-status { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding: 16px 0; font-size: var(--t15); border-bottom: 1px solid var(--linie); }
.mailkarte-status .grund { color: var(--grau); font-size: var(--t13); }
.entwurf { margin-top: 20px; padding-left: 16px; border-left: 2px solid var(--bereit); }
.entwurf-auftrag { border-left-color: var(--archiv); }
.entwurf-titel { font-size: var(--t13); color: var(--grau); margin-bottom: 8px; }
.entwurf-text { font-size: var(--t15); line-height: 1.6; white-space: pre-line; min-height: 1.6em; }
.ablauf-schritte { list-style: none; margin: 0; padding: 0; }
.ablauf-schritte li { min-height: 62vh; display: grid; grid-template-columns: 56px 1fr; align-content: center; gap: 8px 0; opacity: .32; transition: opacity .4s; }
.ablauf-schritte li.aktiv { opacity: 1; }
.ablauf-schritte .nr { grid-row: 1 / span 2; font: 400 var(--t42)/1 var(--display); color: var(--akzent); }
.ablauf-schritte h3 { font: 400 var(--t42)/1.05 var(--display); }
.ablauf-schritte p { grid-column: 2; color: var(--grau); max-width: 36ch; margin-top: 12px; }
@media (max-width: 980px) {
  .ablauf-raster { grid-template-columns: 1fr; }
  .ablauf-buehne { position: relative; top: 0; order: 2; }
  .ablauf-schritte li { min-height: 0; opacity: 1; padding: 24px 0; border-top: 1px solid var(--linie); }
  .ablauf-buehne [data-s] { opacity: 1 !important; transform: none !important; }
  .mailkarte { padding: 20px; }
}

/* ============ ORDNUNG ============ */
.ordnung { padding: var(--sektion) var(--rand); display: grid; grid-template-columns: 5fr 7fr; gap: 6vw; max-width: 1600px; margin: 0 auto; }
.ordnung-text { position: sticky; top: 120px; align-self: start; display: grid; gap: 32px; }
.stufen { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.stufen li { display: grid; grid-template-columns: 40px 1fr; gap: 8px 16px; padding: 32px 0; border-top: 1px solid var(--linie); }
.stufen li:last-child { border-bottom: 1px solid var(--linie); }
.stufen .z { grid-row: 1 / span 2; padding-top: 10px; } .stufen .z i { width: 12px; height: 12px; }
.stufen h3 { font: 400 var(--t32)/1.1 var(--display); }
.stufen p { grid-column: 2; color: var(--grau); max-width: 48ch; }
@media (max-width: 980px) { .ordnung { grid-template-columns: 1fr; } .ordnung-text { position: relative; top: 0; } }

/* ============ SENDEN (dunkel) ============ */
.senden { background: var(--tinte); color: var(--papier); padding: var(--sektion) var(--rand); display: grid; grid-template-columns: 6fr 5fr; gap: 6vw; align-items: center; }
.senden h2 { max-width: 13ch; }
.senden .lead { margin-top: 40px; color: rgba(242,241,236,.72); max-width: 40ch; font-size: var(--t18); line-height: 1.6; }
.senden .klein { margin-top: 24px; color: rgba(242,241,236,.5); }
.outlook { border: 1px solid rgba(242,241,236,.16); display: grid; grid-template-columns: 150px 1fr; font-size: var(--t15); background: #15191C; }
.outlook-ordner { display: grid; align-content: start; border-right: 1px solid rgba(242,241,236,.12); padding: 16px 0; }
.outlook-ordner span { padding: 10px 20px; color: rgba(242,241,236,.55); display: flex; justify-content: space-between; }
.outlook-ordner .aktiv { color: var(--papier); background: rgba(169,207,207,.08); box-shadow: inset 2px 0 0 var(--akzent-hell); }
.outlook-ordner b { font-weight: 500; color: var(--akzent-hell); }
.outlook-liste { list-style: none; margin: 0; padding: 0; }
.outlook-liste li { display: grid; gap: 4px; padding: 18px 20px; border-bottom: 1px solid rgba(242,241,236,.1); }
.outlook-liste b { font-weight: 500; }
.outlook-liste span:last-child { color: rgba(242,241,236,.5); font-size: var(--t13); }
.kat { font-size: var(--t13); justify-self: start; padding: 2px 8px; border: 1px solid currentColor; }
.kat.notfall { color: #E08A82; } .kat.pruefen { color: #DDB466; } .kat.bereit { color: #8CC2A4; }
@media (max-width: 980px) { .senden { grid-template-columns: 1fr; gap: 64px; } }
@media (max-width: 520px) { .outlook { grid-template-columns: 1fr; } .outlook-ordner { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid rgba(242,241,236,.12); padding: 0; } .outlook-ordner span { white-space: nowrap; gap: 8px; } }

/* ============ PROGRAMME ============ */
.programme { padding: var(--sektion) 0; }
.tabelle { padding: 0 var(--rand); max-width: 1600px; margin: 0 auto; }
.zeile { display: grid; grid-template-columns: 4fr 8fr; gap: 24px; padding: 28px 0; border-top: 1px solid var(--linie); }
.zeile span:first-child { font: 400 var(--t24)/1.2 var(--display); }
.zeile span:last-child { color: var(--grau); max-width: 56ch; }
.kopfzeile { border-top: 1px solid var(--tinte); padding: 16px 0; }
.kopfzeile span, .kopfzeile span:first-child { font: 500 var(--t13)/1 var(--text); color: var(--grau); }
.zeile:last-child { border-bottom: 1px solid var(--linie); }
@media (max-width: 760px) { .zeile { grid-template-columns: 1fr; gap: 8px; } .kopfzeile { display: none; } }

/* ============ TEST ============ */
.test { padding: var(--sektion) var(--rand); background: var(--flaeche); }
.test-gross { display: grid; grid-template-columns: auto 1fr; gap: 4vw; align-items: end; max-width: 1600px; margin: 0 auto 96px; }
.test-zahl { font: 400 clamp(180px, 26vw, 420px)/.78 var(--display); color: var(--akzent); letter-spacing: -.04em; }
.test h2 { padding-bottom: 2vw; }
.zeitleiste { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1600px; border-top: 1px solid var(--tinte); }
.zeitleiste li { padding: 24px 32px 0 0; position: relative; }
.zeitleiste li::before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; background: var(--tinte); }
.zeitleiste .wann { display: block; font-size: var(--t13); color: var(--grau); margin: 8px 0 16px; }
.zeitleiste h3 { font: 400 var(--t32)/1.1 var(--display); margin-bottom: 12px; }
.zeitleiste p { color: var(--grau); font-size: var(--t15); max-width: 30ch; }
.test-bitte { max-width: 1600px; margin: 96px auto 0; font: 400 var(--t24)/1.4 var(--display); max-width: 44ch; margin-left: max(0px, calc((100% - 1600px) / 2)); }
@media (max-width: 980px) { .zeitleiste { grid-template-columns: 1fr 1fr; gap: 48px 0; } .test-gross { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .zeitleiste { grid-template-columns: 1fr; border-top: 0; } .zeitleiste li { border-top: 1px solid var(--tinte); } }

/* ============ FRAGEN ============ */
.fragen { padding: var(--sektion) 0; }
.akkordeon { padding: 0 var(--rand); max-width: 1600px; margin: 0 auto; }
.akkordeon details { border-top: 1px solid var(--linie); }
.akkordeon details:last-child { border-bottom: 1px solid var(--linie); }
.akkordeon summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px;
  padding: 32px 0; font: 400 clamp(var(--t24), 2.6vw, var(--t42))/1.15 var(--display); }
.akkordeon summary::-webkit-details-marker { display: none; }
.akkordeon summary::after { content: ""; flex: none; width: 18px; height: 18px; background:
  linear-gradient(var(--tinte), var(--tinte)) center/18px 1.5px no-repeat, linear-gradient(var(--tinte), var(--tinte)) center/1.5px 18px no-repeat; transition: transform .3s; }
.akkordeon details[open] summary::after { transform: rotate(45deg); }
.akkordeon details p { padding: 0 0 40px; color: var(--grau); max-width: 62ch; }

/* ============ KONTAKT ============ */
.kontakt { padding: var(--sektion) var(--rand) calc(var(--sektion) * .8); text-align: center; display: grid; justify-items: center; gap: 40px; border-top: 1px solid var(--linie); }
.kontakt-titel { font-size: clamp(var(--t56), 8.6vw, var(--t133)); max-width: 12ch; }
.kontakt .lead { max-width: 40ch; }
.kontakt-mail { font-size: var(--t15); color: var(--grau); }

/* ============ FUSS ============ */
.fuss { background: var(--tinte); color: var(--papier); padding: 80px var(--rand) 32px; overflow: hidden; }
.fuss-marke { font: 400 clamp(44px, 11.2vw, 200px)/.85 var(--display); letter-spacing: -.035em; white-space: nowrap; }
.fuss-zeile { display: flex; flex-wrap: wrap; gap: 16px 48px; justify-content: space-between; margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(242,241,236,.16); font-size: var(--t13); color: rgba(242,241,236,.6); }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* ============ Dachseite, Offerte, Anmelden (receptionists.ch) ============ */
.kopf-nav a[aria-current="page"] { color: var(--tinte); }
.fuss-zeile a { color: inherit; }
.dach-hero { padding: 200px var(--rand) 96px; max-width: 1600px; margin: 0 auto; }
.dach-titel { font: 400 clamp(var(--t56), 8.4vw, var(--t133))/.98 var(--display); letter-spacing: -.03em; max-width: 13ch; }
.dach-hero .hero-lead { max-width: 40ch; }
.werkzeuge { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 0 var(--rand) var(--sektion); max-width: 1600px; margin: 0 auto; }
.werkzeug { display: grid; grid-template-rows: auto 1fr auto; gap: 40px; padding: 48px 4vw 48px 0; text-decoration: none; color: inherit;
  border-top: 1px solid var(--tinte); }
.werkzeug + .werkzeug { padding-left: 4vw; padding-right: 0; border-left: 1px solid var(--linie); }
.werkzeug-fuer { display: block; font-size: var(--t15); color: var(--grau); margin-bottom: 20px; }
.werkzeug h2 { font-size: clamp(var(--t42), 4.6vw, var(--t75)); max-width: none; }
.werkzeug-kopf p { margin-top: 20px; color: var(--grau); max-width: 40ch; }
.werkzeug-bild { background: #FBFAF7; border: 1px solid var(--linie); padding: 8px 0; align-self: start; transition: transform .5s; }
.werkzeug:hover .werkzeug-bild { transform: translateY(-4px); }
.mini-zeile { display: flex; justify-content: space-between; gap: 16px; padding: 12px 20px 12px 17px; border-left: 3px solid; font-size: var(--t15); }
.mini-zeile + .mini-zeile { border-top: 1px solid var(--linie); }
.mini-zeile b { font-weight: 500; } .mini-zeile span { font-size: var(--t13); white-space: nowrap; }
.mini-zeile.notfall { border-left-color: var(--notfall); } .mini-zeile.notfall span { color: var(--notfall); }
.mini-zeile.mensch { border-left-color: var(--mensch); } .mini-zeile.mensch span { color: var(--mensch); }
.mini-zeile.pruefen { border-left-color: var(--pruefen); } .mini-zeile.pruefen span { color: var(--pruefen); }
.mini-zeile.bereit { border-left-color: var(--bereit); } .mini-zeile.bereit span { color: var(--bereit); }
.werkzeug-offerte { padding: 20px 24px; }
.mini-gesagt { font: italic 400 var(--t24)/1.3 var(--display); padding-bottom: 16px; margin-bottom: 4px; border-bottom: 1px solid var(--tinte); }
.mini-pos { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--linie); font-size: var(--t15); }
.mini-pos span:last-child { white-space: nowrap; }
.mini-total { border-bottom: 0; font-weight: 500; }
.mini-total span:last-child { font: 500 var(--t24)/1 var(--display); }
.werkzeug-weiter { display: inline-flex; align-items: center; gap: 12px; font-weight: 500; font-size: var(--t15); color: var(--akzent); }
.werkzeug-weiter::after { content: ""; width: 24px; height: 1px; background: currentColor; transition: width .25s; }
.werkzeug:hover .werkzeug-weiter::after { width: 40px; }
.grundsaetze { padding: var(--sektion) 0; background: var(--flaeche); }
@media (max-width: 980px) {
  .werkzeuge { grid-template-columns: 1fr; }
  .werkzeug, .werkzeug + .werkzeug { padding: 40px 0; border-left: 0; }
  .dach-hero { padding-top: 140px; }
}

.bildschirm { margin: 0; border: 1px solid var(--linie); background: #FBFAF7; }
.bildschirm img { display: block; width: 100%; height: auto; }
.bildschirm-papier { padding: 16px; background: var(--flaeche); }
.offerte-seite .hero-buehne .bildschirm img { aspect-ratio: 16 / 10; object-fit: cover; object-position: left top; }
.drei { list-style: none; margin: 0 auto; padding: 0 var(--rand); max-width: 1600px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4vw; }
.drei li { display: grid; grid-template-columns: 48px 1fr; align-content: start; gap: 8px 0; }
.drei .bildschirm { grid-column: 1 / -1; margin-bottom: 32px; aspect-ratio: 4 / 3; overflow: hidden; }
.drei .bildschirm img { height: 100%; object-fit: cover; object-position: left top; }
.drei .bildschirm-papier img { object-fit: contain; object-position: center top; }
.drei .nr { grid-row: 2 / span 2; font: 400 var(--t42)/1 var(--display); color: var(--akzent); }
.drei h3 { font: 400 var(--t32)/1.1 var(--display); }
.drei p { grid-column: 2; color: var(--grau); font-size: var(--t15); margin-top: 8px; max-width: 34ch; }
@media (max-width: 980px) { .drei { grid-template-columns: 1fr; gap: 64px; } }

.beispiel { padding: var(--sektion) var(--rand); display: grid; grid-template-columns: 5fr 7fr; gap: 6vw; max-width: 1600px; margin: 0 auto; }
.beispiel-titel { font-size: var(--t15); color: var(--grau); margin-bottom: 24px; }
.beispiel blockquote { margin: 0; font: italic 400 clamp(var(--t24), 2.4vw, var(--t42))/1.3 var(--display); }
.tabelle-eng { padding: 0; }
.tabelle-eng .zeile { grid-template-columns: 1fr auto 120px; padding: 14px 0; gap: 24px; }
.tabelle-eng .zeile span { font: 400 var(--t15)/1.4 var(--text) !important; color: var(--tinte) !important; }
.tabelle-eng .zeile span:nth-child(2) { color: var(--grau) !important; white-space: nowrap; }
.tabelle-eng .zeile span:last-child { text-align: right; white-space: nowrap; }
.tabelle-eng .zeile:first-child { border-top: 1px solid var(--tinte); }
.zeile-total span { font-weight: 500 !important; } .zeile-total span:last-child { font: 500 var(--t24)/1 var(--display) !important; }
.beispiel .klein { margin-top: 24px; }
@media (max-width: 980px) { .beispiel { grid-template-columns: 1fr; } .tabelle-eng .zeile { grid-template-columns: 1fr auto; } .tabelle-eng .zeile span:nth-child(2) { display: none; } }

.regel-liste { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(242,241,236,.3); }
.regel-liste li { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid rgba(242,241,236,.14); }
.regel-liste b { font: 400 var(--t24)/1.2 var(--display); color: var(--akzent-hell); }
.regel-liste span { color: rgba(242,241,236,.75); }

.anmelden-seite { min-height: 100vh; }
.anmelden-haupt { padding: 200px var(--rand) var(--sektion); max-width: 1600px; margin: 0 auto; display: grid; gap: 32px; }
.anmelden-haupt h1 { font: 400 clamp(var(--t56), 8vw, var(--t133))/1 var(--display); letter-spacing: -.03em; }
.zugaenge { display: grid; grid-template-columns: 1fr 1fr; margin-top: 48px; border-top: 1px solid var(--tinte); }
.zugang { padding: 40px 4vw 48px 0; display: grid; gap: 16px; align-content: start; justify-items: start; }
.zugang + .zugang { padding-left: 4vw; border-left: 1px solid var(--linie); }
.zugang h2 { font-size: clamp(var(--t32), 3.6vw, var(--t56)); }
.zugang p { color: var(--grau); max-width: 36ch; }
.zugang .knopf { margin-top: 16px; }
.zugang-folgt { margin-top: 16px; font-size: var(--t15); padding-left: 14px; border-left: 3px solid var(--pruefen); color: var(--tinte) !important; }
@media (max-width: 760px) { .zugaenge { grid-template-columns: 1fr; } .zugang, .zugang + .zugang { padding: 32px 0; border-left: 0; } .zugang + .zugang { border-top: 1px solid var(--linie); } .anmelden-haupt { padding-top: 130px; } }
[hidden] { display: none !important; }
