:root {
            --bg: #061426;
            --bg-soft: #0b2036;
            --bg-card: rgba(255, 255, 255, 0.078);
            --bg-card-2: rgba(255, 255, 255, 0.112);
            --text: #f4f8fb;
            --muted: #bdcbd8;
            --primary: #5aa7e8;
            --primary-2: #1d4f91;
            --accent: #6ed0b2;
            --warning: #e0b85c;
            --violet: #7088a8;
            --border: rgba(255,255,255,0.15);
            --border-strong: rgba(255,255,255,0.28);
            --shadow: 0 30px 90px rgba(0,0,0,0.42);
            --radius: 28px;
        }

        * { box-sizing: border-box; margin: 0; padding: 0; }
        html { scroll-behavior: smooth; }
        body {
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
            color: var(--text);
            background:
                radial-gradient(circle at 10% 8%, rgba(110,208,178,0.13), transparent 28%),
                radial-gradient(circle at 86% 12%, rgba(90,167,232,0.20), transparent 30%),
                radial-gradient(circle at 60% 76%, rgba(112,136,168,0.12), transparent 34%),
                linear-gradient(135deg, #04101f 0%, #071a30 44%, #0b2740 100%);
            line-height: 1.62;
            overflow-x: hidden;
        }

        body::before {
            content: "";
            position: fixed;
            inset: 0;
            pointer-events: none;
            background-image:
                linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
            background-size: 58px 58px;
            mask-image: linear-gradient(to bottom, rgba(0,0,0,0.95), transparent 84%);
            z-index: -3;
        }

        body::after {
            content: "";
            position: fixed;
            inset: -25%;
            pointer-events: none;
            background:
                conic-gradient(from 120deg at 50% 50%, transparent, rgba(110,208,178,0.07), transparent, rgba(90,167,232,0.07), transparent);
            animation: aurora 18s linear infinite;
            z-index: -4;
        }

        @keyframes aurora {
            to { transform: rotate(360deg); }
        }

        a { color: inherit; text-decoration: none; }
        button { font: inherit; }
        a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(110,208,178,.40); outline-offset: 4px; }
        .container { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }
        .section { padding: 92px 0; position: relative; }
        .section.compact { padding: 66px 0; }

        .noise {
            position: fixed;
            inset: 0;
            pointer-events: none;
            opacity: 0.035;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
            z-index: 1000;
        }

        header {
            position: sticky;
            top: 0;
            z-index: 100;
            background: rgba(5, 13, 25, 0.72);
            border-bottom: 1px solid var(--border);
            backdrop-filter: blur(20px);
        }

        .navbar {
            min-height: 78px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 26px;
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 13px;
            font-weight: 900;
            letter-spacing: -0.05em;
            white-space: nowrap;
        }

        .brand-mark {
            width: 47px;
            height: 47px;
            border-radius: 17px;
            display: grid;
            place-items: center;
            color: #06101f;
            background: linear-gradient(135deg, var(--accent), var(--primary));
            box-shadow: 0 18px 42px rgba(110,208,178,0.20);
            position: relative;
            overflow: hidden;
        }

        .brand-mark::before {
            content: "";
            position: absolute;
            width: 80px;
            height: 18px;
            background: rgba(255,255,255,0.38);
            transform: rotate(-28deg) translateX(-40px);
            animation: shine 5s ease-in-out infinite;
        }

        @keyframes shine {
            0%, 58% { transform: rotate(-28deg) translateX(-65px); }
            76%, 100% { transform: rotate(-28deg) translateX(65px); }
        }

        .brand-mark span { position: relative; font-weight: 950; font-size: 1.12rem; }
        .brand small { display:block; color: var(--muted); letter-spacing: 0; font-weight: 700; font-size: .72rem; margin-top: -4px; }

        nav ul { display: flex; align-items: center; gap: 6px; list-style: none; }
        nav li { position: relative; }
        nav a, .nav-trigger {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 14px;
            border-radius: 999px;
            color: #dcecff;
            font-weight: 750;
            border: 1px solid transparent;
            transition: .22s ease;
            cursor: pointer;
        }
        nav a:hover, .dropdown:hover .nav-trigger, .dropdown:focus-within .nav-trigger, .dropdown.open .nav-trigger {
            background: rgba(255,255,255,.09);
            border-color: var(--border);
            color: #fff;
        }
        .nav-trigger::after { content: "⌄"; color: var(--accent); font-size: .96rem; transition: transform .2s ease; }
        .dropdown:hover .nav-trigger::after, .dropdown:focus-within .nav-trigger::after, .dropdown.open .nav-trigger::after { transform: rotate(180deg); }
        .dropdown { --dropdown-width: 325px; }
        .dropdown.info-dropdown { --dropdown-width: 275px; }
        .dropdown::after {
            content: "";
            position: absolute;
            left: 0;
            top: 100%;
            width: var(--dropdown-width);
            height: 14px;
            display: none;
            z-index: 38;
        }
        .dropdown:hover::after, .dropdown:focus-within::after, .dropdown.open::after { display: block; }
        .dropdown-menu {
            position: absolute;
            top: calc(100% + 8px);
            left: 0;
            min-width: var(--dropdown-width, 325px);
            padding: 10px;
            border-radius: 22px;
            border: 1px solid var(--border);
            background: rgba(7, 20, 37, .96);
            box-shadow: var(--shadow);
            backdrop-filter: blur(22px);
            opacity: 0;
            pointer-events: none;
            transform: translateY(10px) scale(.98);
            transition: .2s ease;
            z-index: 40;
        }
        .dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu, .dropdown.open .dropdown-menu {
            opacity: 1;
            pointer-events: auto;
            transform: translateY(0) scale(1);
        }
        .dropdown-menu a {
            width: 100%;
            justify-content: flex-start;
            align-items: flex-start;
            border-radius: 16px;
            padding: 14px;
            display: grid;
            gap: 4px;
        }
        .dropdown-menu small { color: var(--muted); font-weight: 650; line-height: 1.35; }
        .nav-cta {
            background: linear-gradient(135deg, var(--primary), var(--accent));
            color: #06101f !important;
            box-shadow: 0 16px 32px rgba(73,166,255,.18);
        }
        .menu-toggle { display:none; background: transparent; color: #fff; border:1px solid var(--border); border-radius: 14px; padding: 9px 11px; }

        .hero { padding: 104px 0 74px; }
        .hero-grid {
            display: grid;
            grid-template-columns: 1.03fr .97fr;
            gap: 48px;
            align-items: center;
        }
        .eyebrow {
            display:inline-flex;
            align-items:center;
            gap:10px;
            padding:8px 14px;
            border:1px solid var(--border);
            background: rgba(255,255,255,.07);
            border-radius:999px;
            font-weight:850;
            color:#e6fbff;
            margin-bottom: 22px;
        }
        .pulse {
            width: 10px; height: 10px; border-radius:50%;
            background: var(--accent);
            box-shadow:0 0 0 8px rgba(110,208,178,.13);
            animation: pulse 2s ease-in-out infinite;
        }
        @keyframes pulse { 50% { box-shadow:0 0 0 13px rgba(110,208,178,.045); } }
        h1 {
            font-size: clamp(3rem, 7vw, 6.6rem);
            line-height: .9;
            letter-spacing: -.085em;
            margin-bottom: 25px;
        }
        .gradient-text {
            background: linear-gradient(135deg, #fff 0%, #b5d8ef 42%, #8edfc6 74%, #fff 100%);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            background-size: 220% auto;
            animation: gradientMove 7s ease-in-out infinite alternate;
        }
        @keyframes gradientMove { to { background-position: 100% center; } }
        .lead {
            color: #c2d4e7;
            font-size: clamp(1.08rem, 2vw, 1.34rem);
            max-width: 690px;
            margin-bottom: 31px;
        }
        .hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-bottom: 32px; }
        .btn {
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:10px;
            border-radius: 999px;
            padding: 14px 20px;
            border: 1px solid var(--border);
            background: rgba(255,255,255,.08);
            color: #fff;
            font-weight: 850;
            transition: .22s ease;
        }
        .btn:hover { transform: translateY(-2px); background: rgba(255,255,255,.13); border-color: var(--border-strong); }
        .btn.primary:hover { box-shadow: 0 24px 52px rgba(46,230,199,.2), 0 18px 42px rgba(74,163,255,.18); }
        .btn.primary { background: linear-gradient(135deg, var(--primary), var(--accent)); color: #06101f; border:0; box-shadow: 0 20px 45px rgba(90,167,232,.20); }
        .trust-row { display:flex; flex-wrap:wrap; gap:10px; color: var(--muted); font-weight: 700; }
        .trust-row span { border:1px solid var(--border); border-radius:999px; padding:8px 12px; background: rgba(255,255,255,.05); }

        .visual-wrap { position:relative; min-height: 540px; }
        .orb {
            position:absolute;
            border-radius:50%;
            filter: blur(1px);
            opacity:.95;
        }
        .orb.one { width:180px; height:180px; right:10%; top:0; background: radial-gradient(circle, rgba(110,208,178,.32), transparent 68%); animation: float 6.5s ease-in-out infinite; }
        .orb.two { width:220px; height:220px; left:3%; bottom:10%; background: radial-gradient(circle, rgba(90,167,232,.28), transparent 68%); animation: float 8s ease-in-out infinite reverse; }
        @keyframes float { 50% { transform: translateY(-18px) translateX(8px); } }

        .dashboard {
            position: relative;
            border: 1px solid var(--border);
            border-radius: 34px;
            background: linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.055));
            box-shadow: var(--shadow);
            padding: 18px;
            overflow: hidden;
            transform: perspective(1000px) rotateY(-7deg) rotateX(4deg);
        }
        .dashboard::before {
            content:"";
            position:absolute; inset:-1px;
            background: linear-gradient(120deg, transparent, rgba(110,208,178,.16), transparent, rgba(73,166,255,.15), transparent);
            opacity:.8;
            animation: scan 7s linear infinite;
        }
        @keyframes scan { to { transform: translateX(38%); } }
        .window { position:relative; border-radius: 24px; background: rgba(5,13,25,.82); border:1px solid var(--border); overflow:hidden; }
        .window-top { height: 48px; display:flex; align-items:center; justify-content:space-between; padding:0 16px; border-bottom:1px solid var(--border); background: rgba(255,255,255,.045); }
        .dots { display:flex; gap:7px; }
        .dots span { width:10px; height:10px; border-radius:50%; background: rgba(255,255,255,.28); }
        .status-pill { color:#06101f; background: var(--accent); border-radius:999px; padding:5px 10px; font-weight:900; font-size:.78rem; }
        .window-body { padding: 20px; display:grid; gap:15px; }
        .metric-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
        .metric { border:1px solid var(--border); border-radius: 20px; padding: 16px; background: rgba(255,255,255,.06); min-height:108px; }
        .metric small { color:var(--muted); font-weight:800; }
        .metric strong { display:block; font-size:1.75rem; line-height:1.1; letter-spacing:-.04em; margin-top:8px; }
        .metric .bar { height: 7px; border-radius:999px; background: rgba(255,255,255,.11); overflow:hidden; margin-top:15px; }
        .metric .bar i { display:block; height:100%; border-radius:inherit; background: linear-gradient(90deg, var(--primary), var(--accent)); animation: grow 2.4s ease both; }
        @keyframes grow { from { width:0; } }
        .process-card { border:1px solid var(--border); border-radius: 22px; padding:16px; background: rgba(255,255,255,.06); }
        .process-card h3 { font-size:1rem; margin-bottom: 12px; }
        .flow { display:grid; gap:9px; }
        .flow span { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#d7e8fb; padding:10px 12px; border-radius:14px; background: rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.08); font-weight:700; }
        .flow em { color:var(--accent); font-style:normal; }
        .floating-chip { position:absolute; border:1px solid var(--border); background:rgba(7,20,37,.82); backdrop-filter: blur(15px); border-radius:999px; padding:10px 14px; font-weight:850; box-shadow: 0 18px 40px rgba(0,0,0,.26); }
        .floating-chip.a { left:-4%; top:16%; animation: float 6.8s ease-in-out infinite; }
        .floating-chip.b { right:-2%; bottom:18%; animation: float 7.3s ease-in-out infinite reverse; }

        .section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px; }
        .kicker { color: var(--accent); font-weight:900; letter-spacing:.12em; text-transform:uppercase; font-size:.8rem; margin-bottom: 10px; }
        h2 { font-size: clamp(2.1rem, 4.4vw, 4.2rem); line-height: .98; letter-spacing:-.065em; }
        .section-head p { color:var(--muted); max-width: 520px; font-size:1.06rem; }

        .cards { display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; }
        .card {
            position:relative;
            border:1px solid var(--border);
            border-radius: var(--radius);
            padding: 26px;
            background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.047));
            box-shadow: 0 16px 46px rgba(0,0,0,.18);
            overflow:hidden;
            transition:.24s ease;
        }
        .card::before {
            content:""; position:absolute; inset:0; pointer-events:none;
            background: radial-gradient(circle at var(--mx, 50%) var(--my, 0%), rgba(90,167,232,.18), transparent 32%);
            opacity:0; transition:.24s ease;
        }
        .card:hover { transform: translateY(-6px); border-color: var(--border-strong); }
        .card:hover::before { opacity:1; }
        .icon {
            width:50px; height:50px; border-radius:18px;
            display:grid; place-items:center;
            background: linear-gradient(135deg, rgba(90,167,232,.20), rgba(110,208,178,.16));
            border:1px solid var(--border);
            margin-bottom: 19px;
            font-size:1.35rem;
        }
        .card h3 { font-size:1.25rem; letter-spacing:-.03em; margin-bottom:10px; }
        .card p { color:var(--muted); }
        .card ul { list-style:none; display:grid; gap:9px; margin-top:18px; color:#d8e8f8; }
        .card li { display:flex; gap:9px; align-items:flex-start; }
        .card li::before { content:"✓"; color:var(--accent); font-weight:900; }

        .municipal-band {
            border:1px solid var(--border);
            border-radius: 34px;
            background:
                linear-gradient(135deg, rgba(73,166,255,.14), rgba(110,208,178,.08)),
                rgba(255,255,255,.055);
            padding: 34px;
            display:grid;
            grid-template-columns: .85fr 1.15fr;
            gap: 26px;
            align-items:center;
            overflow:hidden;
            position:relative;
        }
        .municipal-band::after {
            content:"KOMMUNAL";
            position:absolute;
            right:-24px; bottom:-38px;
            font-size:7rem; font-weight:950; letter-spacing:-.08em;
            color:rgba(255,255,255,.035);
        }
        .seal { width:120px; height:120px; border-radius:32px; background:rgba(255,255,255,.08); border:1px solid var(--border); display:grid; place-items:center; font-size:3rem; margin-bottom:18px; }
        .municipal-band p { color:var(--muted); }
        .municipal-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:12px; position:relative; z-index:1; }
        .mini { border:1px solid var(--border); border-radius:20px; padding:17px; background:rgba(5,13,25,.38); }
        .mini strong { display:block; margin-bottom:4px; }
        .mini span { color:var(--muted); font-size:.94rem; }

        .solutions-showcase { display:grid; grid-template-columns: .9fr 1.1fr; gap:22px; align-items:stretch; }
        .solution-feature { min-height: 430px; display:flex; flex-direction:column; justify-content:space-between; }
        .tag { display:inline-flex; width:max-content; border:1px solid rgba(110,208,178,.34); color:#bffced; background:rgba(110,208,178,.08); border-radius:999px; padding:7px 11px; font-weight:850; font-size:.85rem; }
        .solution-title { margin-top:18px; font-size:2.25rem; line-height:1; letter-spacing:-.055em; }
        .mock-list { display:grid; gap:12px; }
        .mock-row { display:flex; align-items:center; justify-content:space-between; border:1px solid var(--border); border-radius:18px; padding:14px 15px; background:rgba(255,255,255,.05); }
        .mock-row small { color:var(--muted); font-weight:750; }
        .mock-row b { color:var(--accent); }

        .timeline { display:grid; gap:16px; counter-reset: step; }
        .timeline-item { display:grid; grid-template-columns: 72px 1fr; gap:18px; align-items:start; }
        .timeline-item::before {
            counter-increment: step;
            content: counter(step, decimal-leading-zero);
            height:54px; border-radius:18px;
            display:grid; place-items:center;
            background:linear-gradient(135deg, var(--primary), var(--accent));
            color:#06101f; font-weight:950;
        }
        .timeline-content { border:1px solid var(--border); border-radius:24px; padding:22px; background:rgba(255,255,255,.055); }
        .timeline-content p { color:var(--muted); margin-top:5px; }

        .cta {
            border:1px solid var(--border);
            border-radius: 40px;
            padding: 48px;
            background:
                radial-gradient(circle at 18% 10%, rgba(110,208,178,.17), transparent 30%),
                radial-gradient(circle at 86% 88%, rgba(90,167,232,.18), transparent 34%),
                linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.05));
            text-align:center;
            box-shadow: var(--shadow);
        }
        .cta p { color:var(--muted); max-width:760px; margin:18px auto 28px; font-size:1.12rem; }

        footer { border-top:1px solid var(--border); padding:34px 0; color:var(--muted); background:rgba(0,0,0,.12); }
        .footer-grid { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
        .footer-links { display:flex; gap:14px; flex-wrap:wrap; }
        .footer-links a { color:#dcecff; font-weight:750; }
        .footer-links a:hover, .back-link:hover { color:#fff; }

        .reveal { opacity:0; transform: translateY(22px); transition: .7s ease; }
        .reveal.visible { opacity:1; transform: translateY(0); }

        @media (max-width: 980px) {
            .menu-toggle { display:inline-flex; }
            nav { position:absolute; left:20px; right:20px; top:86px; border:1px solid var(--border); border-radius:24px; background:rgba(7,20,37,.97); padding:12px; box-shadow:var(--shadow); display:none; }
            nav.open { display:block; }
            nav ul { display:grid; gap:6px; }
            nav a, .nav-trigger { width:100%; justify-content:space-between; border-radius:16px; }
            .dropdown::after { display:none !important; }
            .dropdown-menu { position:static; opacity:1; pointer-events:auto; transform:none; min-width:0; width:100%; box-shadow:none; background:rgba(255,255,255,.04); margin:4px 0 8px; display:block; }
            .hero-grid, .solutions-showcase, .municipal-band { grid-template-columns:1fr; }
            .visual-wrap { min-height:auto; }
            .dashboard { transform:none; }
            .floating-chip { display:none; }
            .cards { grid-template-columns:1fr; }
            .section-head { display:grid; }
        }
        @media (max-width: 640px) {
            .container { width:min(100% - 28px, 1200px); }
            .hero { padding:70px 0 45px; }
            .section { padding:64px 0; }
            .metric-grid, .municipal-grid { grid-template-columns:1fr; }
            .cta, .municipal-band, .card { padding:22px; border-radius:24px; }
            .timeline-item { grid-template-columns:1fr; }
            .brand small { display:none; }
        }

        .subpage-hero { padding: 82px 0 32px; }
        .subpage-shell { display: grid; grid-template-columns: .86fr 1.14fr; gap: 26px; align-items: start; }
        .subpage-card { border:1px solid var(--border); border-radius: 34px; padding: 34px; background: linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.048)); box-shadow: 0 18px 52px rgba(0,0,0,.2); }
        .content-card { border:1px solid var(--border); border-radius: 34px; padding: 34px; background: rgba(255,255,255,.055); box-shadow: 0 18px 52px rgba(0,0,0,.18); }
        .content-card h2 { font-size: clamp(1.65rem, 3vw, 2.45rem); margin-top: 30px; margin-bottom: 12px; letter-spacing: -.045em; }
        .content-card h2:first-child { margin-top: 0; }
        .content-card h3 { font-size: 1.12rem; margin-top: 22px; margin-bottom: 8px; }
        .content-card p, .content-card li { color: var(--muted); }
        .content-card ul { margin-left: 18px; display: grid; gap: 8px; }
        .legal-box { border:1px solid var(--border); border-radius: 22px; background: rgba(5,13,25,.38); padding: 18px; margin: 18px 0; color: #d8e8f8; }
        .legal-box strong { color: var(--text); }
        .hint { color: var(--warning); font-weight: 800; }
        .form-grid { display:grid; gap: 16px; }
        .form-row { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
        label { display:grid; gap:8px; color:#dcecff; font-weight:800; }
        input, textarea { width:100%; border:1px solid var(--border); background:rgba(255,255,255,.07); color:#fff; border-radius:18px; padding:14px 15px; outline:none; transition:.2s ease; font:inherit; }
        textarea { min-height: 170px; resize: vertical; }
        input:focus, textarea:focus { border-color: rgba(53,242,198,.55); box-shadow: 0 0 0 4px rgba(110,208,178,.08); background:rgba(255,255,255,.095); }
        .checkbox-label { display:flex; align-items:flex-start; gap:10px; color:var(--muted); font-weight:700; }
        .checkbox-label input { width:auto; margin-top:5px; }
        .notice { border:1px solid var(--border); border-radius:20px; padding:15px 16px; margin-bottom:18px; font-weight:750; }
        .notice.success { background:rgba(53,242,198,.09); border-color:rgba(53,242,198,.32); color:#c6fff2; }
        .notice.error { background:rgba(255,99,99,.09); border-color:rgba(255,99,99,.32); color:#ffd8d8; }
        .visually-hidden-field { position:absolute !important; left:-9999px !important; opacity:0 !important; height:0 !important; overflow:hidden !important; }
        .back-link { display:inline-flex; margin-top:22px; color:#bffced; font-weight:850; }
        @media (max-width: 980px) { .subpage-shell, .form-row { grid-template-columns:1fr; } }


        /* Cookie-Hinweis */
        .cookie-consent {
            position: fixed;
            left: 50%;
            bottom: 24px;
            width: min(760px, calc(100% - 32px));
            transform: translate(-50%, 18px);
            z-index: 1200;
            border: 1px solid var(--border-strong);
            border-radius: 26px;
            background:
                radial-gradient(circle at 0% 0%, rgba(110,208,178,.12), transparent 35%),
                linear-gradient(145deg, rgba(7,17,31,.98), rgba(9,26,45,.96));
            box-shadow: 0 28px 90px rgba(0,0,0,.48);
            backdrop-filter: blur(24px);
            padding: 20px;
            display: none;
            gap: 16px;
        }
        .cookie-consent.visible { display: grid; animation: cookieSlide .28s ease forwards; }
        @keyframes cookieSlide { to { transform: translate(-50%, 0); } }
        .cookie-consent h2 { font-size: 1.05rem; margin: 0 0 6px; letter-spacing: -.02em; }
        .cookie-consent p { color: var(--muted); margin: 0; font-size: .94rem; line-height: 1.55; }
        .cookie-consent a, .cookie-consent strong { color: #bffced; font-weight: 850; }
        .cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
        .cookie-btn {
            border: 1px solid var(--border);
            border-radius: 999px;
            padding: 10px 14px;
            cursor: pointer;
            font-weight: 850;
            color: #dcecff;
            background: rgba(255,255,255,.075);
            transition: .2s ease;
        }
        .cookie-btn:hover { border-color: var(--border-strong); background: rgba(255,255,255,.11); transform: translateY(-1px); }
        .cookie-btn.primary { color: #06101f; border-color: transparent; background: linear-gradient(135deg, var(--primary), var(--accent)); }
        @media (max-width: 640px) {
            .cookie-consent { bottom: 14px; padding: 16px; border-radius: 22px; }
            .cookie-actions { display: grid; grid-template-columns: 1fr; }
            .cookie-btn { width: 100%; }
        }

        /* Qualitätsverbesserungen: gemeinsame Assets, bessere Lesbarkeit, Barrierefreiheit und reduzierte Bewegung */
        body { isolation: isolate; min-height: 100vh; }
        .noise { z-index: -2; }
        .skip-link {
            position: fixed;
            left: 16px;
            top: 16px;
            z-index: 1300;
            transform: translateY(-140%);
            background: #ffffff;
            color: #06101f;
            border-radius: 999px;
            padding: 10px 14px;
            font-weight: 900;
            box-shadow: 0 16px 44px rgba(0,0,0,.32);
            transition: transform .2s ease;
        }
        .skip-link:focus { transform: translateY(0); }
        header, .dropdown-menu, .floating-chip, .cookie-consent { -webkit-backdrop-filter: blur(20px); }
        .brand-mark { flex: 0 0 auto; }
        .brand-mark span { line-height: 1; }
        .nav-trigger { background: transparent; }
        .page-datenschutz .subpage-shell { grid-template-columns: 1fr; }
        .page-datenschutz .subpage-card,
        .page-datenschutz .content-card {
            width: 100%;
            border-left-color: var(--border-strong);
            border-right-color: var(--border-strong);
        }
        .content-card { overflow-wrap: anywhere; }
        .content-card .meta { margin-top: 26px; color: #d8e8f8; font-weight: 800; }
        .content-card a { color: #bffced; font-weight: 850; }
        .content-card a:hover { color: #fff; }
        .homepage-promise { margin-top: -32px; }
        .promise-card strong { display:block; margin-bottom: 6px; font-size: 1.06rem; }
        .promise-card span { color: var(--muted); }
        .hero h1 { max-width: 780px; }
        .dashboard { will-change: transform; }
        input::placeholder, textarea::placeholder { color: rgba(220,236,255,.58); }
        input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: rgba(255,99,99,.5); }
        .checkbox-label a { color: #bffced; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
        @media (max-width: 980px) {
            .dropdown.open .dropdown-menu { transform: none; }
            .homepage-promise { margin-top: 0; }
        }
        @media (max-width: 640px) {
            h1 { font-size: clamp(2.55rem, 15vw, 4rem); }
            .hero-actions .btn { width: 100%; }
            .solution-title { font-size: 1.95rem; }
            .subpage-hero { padding-top: 54px; }
            .subpage-card, .content-card { padding: 22px; border-radius: 24px; }
            .back-link { margin-top: 14px; }
        }
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: .01ms !important;
                animation-iteration-count: 1 !important;
                scroll-behavior: auto !important;
                transition-duration: .01ms !important;
            }
            .reveal { opacity: 1; transform: none; }
            .dashboard, .card:hover, .btn:hover { transform: none; }
        }
