.impressum-page { --c-primary: #2563eb; --c-primary-wash: #eff6ff; --c-text-main: #0f172a; --c-text-muted: #334155; --c-accent: #10b981; --c-surface: rgba(255, 255, 255, 0.75); --c-border: rgba(255, 255, 255, 0.6); --radius-soft: 28px; --blur-glass: 12px; --shadow-deep: 0 4px 6px -1px rgba(37, 99, 235, 0.05),
        0 10px 15px -3px rgba(37, 99, 235, 0.05),
        0 20px 40px -10px rgba(37, 99, 235, 0.08); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: var(--c-text-muted); line-height: 1.6; width: 100%; position: relative; overflow: hidden; padding: 40px 20px; box-sizing: border-box; background-color: rgb(248, 250, 252); background-image: radial-gradient(at 0% 0%, var(--c-primary-wash) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(37, 99, 235, 0.05) 0px, transparent 50%),
        radial-gradient(at 100% 100%, var(--c-primary-wash) 0px, transparent 50%); background-attachment: fixed; }
.impressum-page * { box-sizing: border-box; }
.impressum-container { max-width: 1000px; margin: 0px auto; }
.impressum-page h1, .impressum-page h2, .impressum-page h3 { color: var(--c-text-main); margin-top: 0px; font-weight: 600; letter-spacing: -0.02em; }
.impressum-hero { text-align: center; margin-bottom: 60px; position: relative; z-index: 2; }
.impressum-hero-title { font-size: 2.5rem; margin-bottom: 0.5rem; background-image: ; background-position-x: ; background-position-y: ; background-size: ; background-repeat: ; background-attachment: ; background-origin: ; background-color: ; -webkit-text-fill-color: transparent; background-clip: text; }
.impressum-hero-subtitle { font-size: 1.1rem; color: var(--c-primary); font-weight: 500; }
.impressum-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; position: relative; z-index: 2; }
.impressum-card { background: var(--c-surface); backdrop-filter: blur(var(--blur-glass)); border: 1px solid var(--c-border); border-radius: var(--radius-soft); padding: 32px; box-shadow: var(--shadow-deep); transition: transform 0.3s, box-shadow 0.3s; display: flex; flex-direction: column; }
.impressum-card:hover { transform: translateY(-4px); box-shadow: rgba(37, 99, 235, 0.1) 0px 20px 25px -5px, rgba(37, 99, 235, 0.1) 0px 8px 10px -6px; background: rgba(255, 255, 255, 0.85); }
.impressum-card-title { font-size: 1.25rem; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(37, 99, 235, 0.1); }
.impressum-card-content p { margin: 0px 0px 0.75rem; }
.impressum-card-content p:last-child { margin-bottom: 0px; }
.impressum-name, .impressum-org-name { font-weight: 700; color: var(--c-text-main); font-size: 1.1rem; }
.impressum-note, .impressum-info { font-size: 0.9rem; opacity: 0.85; margin-top: 0.5rem; }
.impressum-page a { color: var(--c-primary); text-decoration: none; transition: color 0.2s; font-weight: 500; position: relative; }
.impressum-page a:hover { color: var(--c-text-main); }
.impressum-card-primary { grid-row: span 2; background: linear-gradient(to right bottom, rgba(255, 255, 255, 0.9), rgba(239, 246, 255, 0.6)); border: 1px solid rgba(37, 99, 235, 0.2); }
.impressum-card-highlight { border-left: 4px solid var(--c-accent); }
.impressum-card-full { grid-column: 1 / -1; }
.impressum-subtitle { font-size: 1.05rem; color: var(--c-text-main); margin-top: 1.5rem; margin-bottom: 0.5rem; }
.impressum-subtitle:first-of-type { margin-top: 0px; }
.impressum-list { padding-left: 20px; margin-bottom: 1rem; }
.impressum-list li { margin-bottom: 0.5rem; }
.impressum-contact { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(37, 99, 235, 0.1); }
.impressum-warning { margin-top: 1rem; padding: 14px 16px; border-radius: 16px; background: rgba(245, 158, 11, 0.08); border: 1px solid rgba(245, 158, 11, 0.18); color: rgb(146, 64, 14); font-size: 0.92rem; }
@media (max-width: 768px) {
  .impressum-grid { grid-template-columns: 1fr; }
  .impressum-hero-title { font-size: 2rem; }
  .impressum-card { padding: 24px; }
  .impressum-card-primary { grid-row: auto; }
}