

        :root {
            --imp-primary: #1a4f8b;
            --imp-secondary: #3b8fc2;
            --imp-text: #495057;
            --imp-dark: #343a40;
            --imp-muted: #6c757d;
            --imp-light: #f8f9fa;
            --imp-border: #e5e8eb;
            --imp-white: #ffffff;
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 140px;
        }

        .impressum-wrapper {
            background: var(--imp-light);
            padding: 60px 0;
        }

        .impressum-layout {
            display: flex;
            align-items: flex-start;
            gap: 30px;
        }

        /* =========================================================
           SIDEBAR
           ========================================================= */

        .impressum-sidebar {
            flex: 0 0 285px;
            width: 285px;
            background: var(--imp-white);
            border: 1px solid var(--imp-border);
            padding: 24px;
            position: sticky;
            top: 140px;
            max-height: calc(100vh - 170px);
            overflow-y: auto;
        }

        .impressum-sidebar-title {
            display: flex;
            align-items: center;
            gap: 10px;
            margin: 0 0 20px;
            padding-bottom: 15px;
            color: var(--imp-primary);
            font-size: 17px;
            font-weight: 600;
            border-bottom: 1px solid var(--imp-border);
        }

        .impressum-sidebar-title i {
            color: var(--imp-secondary);
            font-size: 15px;
        }

        .impressum-nav {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .impressum-nav li {
            margin: 0;
        }

        .impressum-nav a {
            display: flex;
            align-items: flex-start;
            gap: 9px;
            padding: 8px 4px;
            color: #4f5963;
            font-size: 13px;
            font-weight: 500;
            line-height: 1.4;
            text-decoration: none;
            transition: color .2s ease;
        }

        .impressum-nav a:hover {
            color: var(--imp-primary);
        }

        .impressum-nav i {
            flex: 0 0 17px;
            width: 17px;
            margin-top: 3px;
            color: var(--imp-secondary);
            text-align: center;
            font-size: 12px;
        }

        /* =========================================================
           CONTENT
           ========================================================= */

        .impressum-content {
            flex: 1;
            min-width: 0;
            background: var(--imp-white);
            border: 1px solid var(--imp-border);
            padding: 42px 46px;
        }

        .impressum-header {
            text-align: center;
            padding-bottom: 32px;
            margin-bottom: 10px;
            border-bottom: 1px solid var(--imp-border);
        }

        .impressum-header .page-label {
            display: block;
            margin-bottom: 10px;
            color: var(--imp-secondary);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .impressum-header h1 {
            margin: 0 0 12px;
            color: var(--imp-primary);
            font-size: 34px;
            font-weight: 600;
        }

        .impressum-header p {
            margin: 0;
            color: var(--imp-muted);
            font-size: 14px;
        }

        .impressum-ddg {
            padding: 20px 0;
            margin-bottom: 10px;
            color: var(--imp-dark);
            font-weight: 600;
            border-bottom: 1px solid var(--imp-border);
        }

        /* =========================================================
           SECTIONS
           ========================================================= */

        .impressum-section {
            padding: 35px 0;
            border-bottom: 1px solid var(--imp-border);
        }

        .impressum-section:last-child {
            border-bottom: 0;
        }

        .impressum-section::before {
            content: "";
            display: block;
            height: 130px;
            margin-top: -130px;
            visibility: hidden;
            pointer-events: none;
        }

        .impressum-section h2 {
            display: flex;
            align-items: center;
            gap: 12px;
            margin: 0 0 22px;
            padding-bottom: 14px;
            color: var(--imp-primary);
            font-size: 21px;
            font-weight: 600;
            line-height: 1.35;
            border-bottom: 1px solid var(--imp-border);
        }

        .impressum-section h2 i {
            width: 24px;
            color: var(--imp-secondary);
            font-size: 17px;
            text-align: center;
        }

        .impressum-section p {
            margin: 0 0 15px;
            color: var(--imp-text);
            line-height: 1.75;
            text-align: justify;
        }

        .impressum-section p:last-child {
            margin-bottom: 0;
        }

        .impressum-section strong {
            color: var(--imp-dark);
            font-weight: 600;
        }

        .impressum-section address {
            margin: 0;
            color: var(--imp-text);
            font-style: normal;
            line-height: 1.75;
        }

        .impressum-section a {
            color: var(--imp-primary);
            text-decoration: none;
        }

        .impressum-section a:hover {
            text-decoration: underline;
        }

        /* =========================================================
           FACTS / STRUCTURED DATA
           ========================================================= */

        .impressum-facts {
            margin: 20px 0;
            border: 1px solid var(--imp-border);
            background: var(--imp-light);
        }

        .impressum-fact {
            height: 100%;
            padding: 18px 20px;
        }

        .impressum-fact-label {
            margin-bottom: 4px;
            color: var(--imp-muted);
            font-size: 12px;
            font-weight: 600;
        }

        .impressum-fact-value {
            color: var(--imp-dark);
            font-size: 14px;
            font-weight: 500;
            line-height: 1.55;
        }

        /* =========================================================
           LIST
           ========================================================= */

        .impressum-list {
            margin: 15px 0;
            padding-left: 22px;
            color: var(--imp-text);
        }

        .impressum-list li {
            margin-bottom: 7px;
            line-height: 1.65;
        }

        .impressum-list li::marker {
            color: var(--imp-secondary);
        }

        /* =========================================================
           LOCATIONS
           ========================================================= */

        .medbase-grid {
            margin-top: 20px;
            margin-bottom: 25px;
        }

        .medbase-item {
            height: 100%;
            padding: 17px 18px;
            background: var(--imp-light);
            border: 1px solid var(--imp-border);
        }

        .medbase-item strong {
            display: block;
            margin-bottom: 3px;
            color: var(--imp-dark);
            font-size: 14px;
            font-weight: 600;
        }

        .medbase-item span {
            color: var(--imp-muted);
            font-size: 13px;
        }

        /* =========================================================
           RESPONSIVE
           ========================================================= */

        @media (max-width: 991.98px) {

            .impressum-wrapper {
                padding: 40px 0;
            }

            .impressum-layout {
                display: block;
            }

            .impressum-sidebar {
                position: static;
                width: 100%;
                max-height: none;
                margin-bottom: 25px;
            }

            .impressum-nav {
                columns: 2;
                column-gap: 25px;
            }

            .impressum-nav li {
                break-inside: avoid;
            }
        }

        @media (max-width: 767.98px) {

            .impressum-content {
                padding: 28px 22px;
            }

            .impressum-header h1 {
                font-size: 28px;
            }

            .impressum-nav {
                columns: 1;
            }

            .impressum-section {
                padding: 28px 0;
            }

            .impressum-section h2 {
                font-size: 18px;
            }
        }
    