/* Rechtsseiten — teilt die Gestaltungstokens der Startseite */
:root {
--purple: #534AB7;
--purple-light: #EEEDFE;
--purple-dark: #3C3489;
--text: #1a1a1a;
--text-muted: #666;
--text-faint: #999;
--bg: #fafaf8;
--bg-card: #ffffff;
--border: rgba(0,0,0,0.08);
--border-strong: rgba(0,0,0,0.15);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'DM Sans', sans-serif;
background: var(--bg);
color: var(--text);
font-size: 16px;
line-height: 1.7;
-webkit-text-size-adjust: 100%;
}
nav {
position: sticky; top: 0; z-index: 100;
padding: 1rem 2rem;
display: flex; justify-content: space-between; align-items: center;
background: rgba(250,250,248,0.85);
backdrop-filter: blur(12px);
border-bottom: 0.5px solid var(--border);
}
.nav-logo {
font-family: 'Syne', sans-serif; font-weight: 800; font-size: 18px;
color: var(--text); text-decoration: none; letter-spacing: -0.02em;
}
.nav-logo span { color: var(--purple); }
.nav-back {
font-size: 14px; color: var(--text-muted); text-decoration: none;
transition: color 0.2s;
}
.nav-back:hover { color: var(--text); }
main { max-width: 760px; margin: 0 auto; padding: 4rem 2rem 5rem; }
.eyebrow {
font-size: 11px; font-weight: 500; color: var(--purple);
letter-spacing: 0.1em; text-transform: uppercase;
margin-bottom: 0.75rem;
}
h1 {
font-family: 'Syne', sans-serif;
font-size: clamp(30px, 5vw, 44px);
font-weight: 700; letter-spacing: -0.02em; line-height: 1.15;
margin-bottom: 0.5rem;
}
h2 {
font-family: 'Syne', sans-serif;
font-size: 20px; font-weight: 700; letter-spacing: -0.01em;
margin: 2.75rem 0 0.75rem;
}
h3 { font-size: 16px; font-weight: 500; margin: 1.75rem 0 0.5rem; }
p { color: var(--text-muted); margin-bottom: 1em; }
p.lead { font-size: 18px; font-weight: 300; }
ul, ol { color: var(--text-muted); margin: 0 0 1em 1.25rem; }
li { margin-bottom: 0.4em; }
a { color: var(--purple); text-decoration: none; }
a:hover { text-decoration: underline; }
strong, b { color: var(--text); font-weight: 500; }
.stand {
font-size: 12px; color: var(--text-faint);
letter-spacing: 0.04em; margin-bottom: 2.5rem;
}
.card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 10px;
padding: 1.5rem 1.75rem;
margin: 1.5rem 0;
}
.card p:last-child { margin-bottom: 0; }
.note {
background: var(--purple-light);
border-left: 3px solid var(--purple);
border-radius: 0 8px 8px 0;
padding: 1.25rem 1.5rem;
margin: 1.5rem 0;
}
.note p { color: var(--purple-dark); }
.note p:last-child { margin-bottom: 0; }
.adresse { color: var(--text); line-height: 1.9; }
footer {
max-width: 760px; margin: 0 auto;
padding: 2rem;
border-top: 0.5px solid var(--border);
display: flex; justify-content: space-between; align-items: center;
flex-wrap: wrap; gap: 1rem;
}
.footer-logo {
font-family: 'Syne', sans-serif; font-weight: 800; font-size: 16px;
color: var(--text); text-decoration: none; letter-spacing: -0.02em;
}
.footer-logo span { color: var(--purple); }
.footer-links { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.footer-links a { font-size: 13px; color: var(--text-faint); }
.footer-links a:hover { color: var(--purple); }
@media (max-width: 640px) {
nav { padding: 1rem 1.25rem; }
main { padding: 2.5rem 1.25rem 3.5rem; }
footer { padding: 1.5rem 1.25rem; flex-direction: column; align-items: flex-start; }
}

/* ---------- Umbruch-Absicherung fuer lange deutsche Komposita ---------- */
p, li, h1, h2, h3 { overflow-wrap: break-word; }
p, li { hyphens: auto; }
