/* --- Local Fonts --- */
        @font-face {
            font-family: "Inter";
            src: url("../fonts/Inter.ttf") format("truetype");
            font-weight: 100 900;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: "Barlow";
            src: url("../fonts/Montserrat.ttf") format("truetype");
            font-weight: 100 900;
            font-style: normal;
            font-display: swap;
        }
        @font-face {
            font-family: "Merriweather";
            src: url("../fonts/PlayfairDisplay.ttf") format("truetype");
            font-weight: 100 900;
            font-style: normal;
            font-display: swap;
        }

        /* --- Basis Reset & Tailwind-ähnliche Utilities --- */
        *, ::before, ::after {
            box-sizing: border-box;
            border-width: 0;
            border-style: solid;
            border-color: #e5e7eb;
        }
        ::before, ::after { --tw-content: ''; }
        html { 
            line-height: 1.5; 
            -webkit-text-size-adjust: 100%; 
            tab-size: 4; 
            font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 
            font-feature-settings: normal; 
            font-variation-settings: normal; 
            -webkit-tap-highlight-color: transparent;
            overflow-x: clip;
        }
        body { margin: 0; line-height: inherit; overflow-x: clip; }
        hr { height: 0; color: inherit; border-top-width: 1px; }
        h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
        a { color: inherit; text-decoration: inherit; }
        b, strong { font-weight: bolder; }
        small { font-size: 80%; }
        sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
        sub { bottom: -0.25em; }
        sup { top: -0.5em; }
        table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
        button, input, optgroup, select, textarea {
            font-family: inherit; 
            font-feature-settings: inherit; 
            font-variation-settings: inherit; 
            font-size: 100%; 
            font-weight: inherit; 
            line-height: inherit; 
            letter-spacing: inherit; 
            color: inherit; 
            margin: 0; 
            padding: 0;
        }
        button, select { text-transform: none; }
        button, [type='button'], [type='reset'], [type='submit'] {
            -webkit-appearance: button;
            background-color: transparent;
            background-image: none;
        }
        :-moz-focusring { outline: auto; }
        :-moz-ui-invalid { box-shadow: none; }
        progress { vertical-align: baseline; }
        ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
        [type='search'] { -webkit-appearance: textfield; outline-offset: -2px; }
        ::-webkit-search-decoration { -webkit-appearance: none; }
        ::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
        summary { display: list-item; }
        blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre { margin: 0; }
        fieldset { margin: 0; padding: 0; }
        legend { padding: 0; }
        menu, ol, ul { list-style: none; margin: 0; padding: 0; }
        dialog { padding: 0; }
        textarea { resize: vertical; }
        input::placeholder, textarea::placeholder { opacity: 1; color: #9ca3af; }
        [role='button'], button { cursor: pointer; }
        :disabled { cursor: default; }
        audio, canvas, embed, iframe, img, object, svg, video { display: block; vertical-align: middle; }
        img, video { max-width: 100%; height: auto; }
        img { max-width: 100%; }
        [hidden] { display: none; }

        /* --- Grundlegende Container & Utilities --- */
        .container {
            width: 100%;
            margin-right: auto;
            margin-left: auto;
            padding-right: 2rem;
            padding-left: 2rem;
        }
        @media (min-width: 640px) { .container { max-width: 640px; } }
        @media (min-width: 768px) { .container { max-width: 768px; } }
        @media (min-width: 1024px) { .container { max-width: 1024px; } }
        @media (min-width: 1280px) { .container { max-width: 1280px; } }
        @media (min-width: 1536px) { .container { max-width: 1536px; } }

        .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }
        .relative { position: relative; }
        .absolute { position: absolute; }
        .fixed { position: fixed; }
        .sticky { position: sticky; }
        .inset-0 { inset: 0; }
        .top-0 { top: 0; }
        .left-0 { left: 0; }
        .right-0 { right: 0; }
        .bottom-0 { bottom: 0; }
        .z-10 { z-index: 10; }
        .z-20 { z-index: 20; }
        .z-50 { z-index: 50; }
        .order-first { order: -9999; }
        .order-last { order: 9999; }
        .m-0 { margin: 0; }
        .mx-auto { margin-left: auto; margin-right: auto; }
        .my-4 { margin-top: 1rem; margin-bottom: 1rem; }
        .my-8 { margin-top: 2rem; margin-bottom: 2rem; }
        .my-40 { margin-top: 10rem; margin-bottom: 10rem; }
        .mb-0 { margin-bottom: 0; }
        .mb-1 { margin-bottom: 0.25rem; }
        .mb-2 { margin-bottom: 0.5rem; }
        .mb-4 { margin-bottom: 1rem; }
        .mb-5 { margin-bottom: 1.25rem; }
        .mb-6 { margin-bottom: 1.5rem; }
        .mb-8 { margin-bottom: 2rem; }
        .mt-0 { margin-top: 0; }
        .mt-1 { margin-top: 0.25rem; }
        .mt-2 { margin-top: 0.5rem; }
        .mt-4 { margin-top: 1rem; }
        .mt-5 { margin-top: 1.25rem; }
        .mt-6 { margin-top: 1.5rem; }
        .mt-8 { margin-top: 2rem; }
        .mt-10 { margin-top: 2.5rem; }
        .mt-[-28px] { margin-top: -28px; }
        .ml-0 { margin-left: 0; }
        .ml-4 { margin-left: 1rem; }
        .ml-auto { margin-left: auto; }
        .mr-4 { margin-right: 1rem; }
        .mr-12 { margin-right: 3rem; }
        .block { display: block; }
        .inline-block { display: inline-block; }
        .flex { display: flex; }
        .inline-flex { display: inline-flex; }
        .grid { display: grid; }
        .hidden { display: none; }
        .aspect-4\/3 { aspect-ratio: 4/3; }
        .aspect-video { aspect-ratio: 16/9; }
        .aspect-2\/3 { aspect-ratio: 2/3; }
        .aspect-\[4\/2\] { aspect-ratio: 4/2; }
        .aspect-square { aspect-ratio: 1/1; }
        .h-2 { height: 0.5rem; }
        .h-4 { height: 1rem; }
        .h-6 { height: 1.5rem; }
        .h-7 { height: 1.75rem; }
        .h-8 { height: 2rem; }
        .h-10 { height: 2.5rem; }
        .h-12 { height: 3rem; }
        .h-16 { height: 4rem; }
        .h-24 { height: 6rem; }
        .h-32 { height: 8rem; }
        .h-40 { height: 10rem; }
        .h-64 { height: 16rem; }
        .h-\[32px\] { height: 32px; }
        .h-auto { height: auto; }
        .h-full { height: 100%; }
        .h-screen { height: 100vh; }
        .min-h-\[64px\] { min-height: 64px; }
        .min-h-\[69px\] { min-height: 69px; }
        .w-2 { width: 0.5rem; }
        .w-4 { width: 1rem; }
        .w-6 { width: 1.5rem; }
        .w-8 { width: 2rem; }
        .w-10 { width: 2.5rem; }
        .w-12 { width: 3rem; }
        .w-16 { width: 4rem; }
        .w-24 { width: 6rem; }
        .w-32 { width: 8rem; }
        .w-\[59px\] { width: 59px; }
        .w-auto { width: auto; }
        .w-fit { width: fit-content; }
        .w-full { width: 100%; }
        .w-screen { width: 100vw; }
        .max-w-44 { max-width: 11rem; }
        .max-w-\[1920px\] { max-width: 1920px; }
        .max-w-full { max-width: 100%; }
        .flex-1 { flex: 1 1 0%; }
        .flex-shrink-0 { flex-shrink: 0; }
        .shrink-0 { flex-shrink: 0; }
        .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
        .grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
        .flex-row { flex-direction: row; }
        .flex-col { flex-direction: column; }
        .flex-wrap { flex-wrap: wrap; }
        .content-center { align-content: center; }
        .items-start { align-items: flex-start; }
        .items-end { align-items: flex-end; }
        .items-center { align-items: center; }
        .justify-start { justify-content: flex-start; }
        .justify-end { justify-content: flex-end; }
        .justify-center { justify-content: center; }
        .justify-between { justify-content: space-between; }
        .gap-1 { gap: 0.25rem; }
        .gap-1\.5 { gap: 0.375rem; }
        .gap-2 { gap: 0.5rem; }
        .gap-2\.5 { gap: 0.625rem; }
        .gap-3 { gap: 0.75rem; }
        .gap-4 { gap: 1rem; }
        .gap-5 { gap: 1.25rem; }
        .gap-6 { gap: 1.5rem; }
        .gap-8 { gap: 2rem; }
        .gap-12 { gap: 3rem; }
        .space-x-1 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0.25rem * var(--tw-space-x-reverse)); margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); }
        .space-y-1 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); }
        .space-y-2 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); }
        .space-y-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1rem * var(--tw-space-y-reverse)); }
        .space-y-6 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); }
        .space-y-12 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(3rem * var(--tw-space-y-reverse)); }
        .overflow-hidden { overflow: hidden; }
        .overflow-x-clip { overflow-x: clip; }
        .overflow-y-auto { overflow-y: auto; }
        .whitespace-nowrap { white-space: nowrap; }
        .break-normal { overflow-wrap: normal; word-break: normal; }
        .rounded { border-radius: 1.5rem; }
        .rounded-lg { border-radius: 0.75rem; }
        .rounded-md { border-radius: 0.375rem; }
        .rounded-none { border-radius: 0; }
        .rounded-full { border-radius: 9999px; }
        .rounded-button { border-radius: 0.375rem; }
        .rounded-b-3xl { border-bottom-right-radius: 2.25rem; border-bottom-left-radius: 2.25rem; }
        .border { border-width: 1px; }
        .border-1\.5 { border-width: 1.5px; }
        .border-\[1\.5px\] { border-width: 1.5px; }
        .border-t { border-top-width: 1px; }
        .border-b { border-bottom-width: 1px; }
        .border-r { border-right-width: 1px; }
        .border-transparent { border-color: transparent; }
        .border-white { --tw-border-opacity: 1; border-color: rgb(255 255 255 / var(--tw-border-opacity)); }
        .border-graphite { --tw-border-opacity: 1; border-color: rgb(34 34 34 / var(--tw-border-opacity)); }
        .border-gray-300 { --tw-border-opacity: 1; border-color: rgb(209 213 219 / var(--tw-border-opacity)); }
        .border-brand-aubergine-500 { --tw-border-opacity: 1; border-color: rgb(92 6 140 / var(--tw-border-opacity)); }
        .bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); }
        .bg-black { --tw-bg-opacity: 1; background-color: rgb(0 0 0 / var(--tw-bg-opacity)); }
        .bg-graphite { --tw-bg-opacity: 1; background-color: rgb(34 34 34 / var(--tw-bg-opacity)); }
        .bg-brand-aubergine-500 { --tw-bg-opacity: 1; background-color: rgb(92 6 140 / var(--tw-bg-opacity)); }
        .bg-brand-section-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); }
        .bg-brand-aubergine-bg { --tw-bg-opacity: 1; background-color: rgb(251 245 255 / var(--tw-bg-opacity)); }
        .bg-brand-teaser-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); }
        .bg-gray-light { --tw-bg-opacity: 1; background-color: rgb(244 244 244 / var(--tw-bg-opacity)); }
        .bg-gray-50 { --tw-bg-opacity: 1; background-color: rgb(249 250 251 / var(--tw-bg-opacity)); }
        .bg-\[\#FFFFFF99\] { background-color: #FFFFFF99; }
        .bg-white\/5 { background-color: rgb(255 255 255 / 0.05); }
        .bg-opacity-40 { --tw-bg-opacity: 0.4; }
        .bg-brand-btn { background-image: linear-gradient(270deg, #222, #222); }
        .bg-cover { background-size: cover; }
        .bg-center { background-position: center; }
        .bg-no-repeat { background-repeat: no-repeat; }
        .fill-brand-aubergine-500 { fill: #5c068c; }
        .fill-brand-mint-500 { fill: #2ed8c3; }
        .fill-white { fill: #fff; }
        .object-cover { object-fit: cover; }
        .object-center { object-position: center; }
        .p-0 { padding: 0; }
        .p-2 { padding: 0.5rem; }
        .p-3 { padding: 0.75rem; }
        .p-4 { padding: 1rem; }
        .p-5 { padding: 1.25rem; }
        .p-6 { padding: 1.5rem; }
        .p-8 { padding: 2rem; }
        .px-0 { padding-left: 0; padding-right: 0; }
        .px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
        .px-4 { padding-left: 1rem; padding-right: 1rem; }
        .px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
        .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
        .px-8 { padding-left: 2rem; padding-right: 2rem; }
        .py-0 { padding-top: 0; padding-bottom: 0; }
        .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
        .py-3\.5 { padding-top: 0.875rem; padding-bottom: 0.875rem; }
        .py-4 { padding-top: 1rem; padding-bottom: 1rem; }
        .py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
        .py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
        .py-8 { padding-top: 2rem; padding-bottom: 2rem; }
        .py-9 { padding-top: 2.25rem; padding-bottom: 2.25rem; }
        .py-12 { padding-top: 3rem; padding-bottom: 3rem; }
        .py-28 { padding-top: 7rem; padding-bottom: 7rem; }
        .pb-24 { padding-bottom: 6rem; }
        .pt-2 { padding-top: 0.5rem; }
        .pt-4 { padding-top: 1rem; }
        .pt-5 { padding-top: 1.25rem; }
        .text-left { text-align: left; }
        .text-center { text-align: center; }
        .font-barlow { font-family: 'Barlow', sans-serif; }
        .font-inter { font-family: 'Inter', sans-serif; }
        .font-merriweather { font-family: 'Merriweather', serif; }
        .text-2xs { font-size: 0.875rem; }
        .text-3xs { font-size: 0.75rem; }
        .text-sm { font-size: 0.875rem; line-height: 1.25rem; }
        .text-base { font-size: 1rem; line-height: 1.5rem; }
        .text-lg { font-size: 1.125rem; line-height: 1.75rem; }
        .text-xl { font-size: 1.25rem; line-height: 1.75rem; }
        .text-2xl { font-size: 1.5rem; line-height: 2rem; }
        .text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
        .text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
        .text-5xl { font-size: 3rem; line-height: 1; }
        .text-6xl { font-size: 3.75rem; line-height: 1; }
        .font-light { font-weight: 300; }
        .font-normal { font-weight: 400; }
        .font-medium { font-weight: 500; }
        .font-bold { font-weight: 700; }
        .font-headline { font-weight: 700; }
        .font-overline { font-weight: 700; }
        .uppercase { text-transform: uppercase; }
        .normal-case { text-transform: none; }
        .leading-3 { line-height: .75rem; }
        .leading-5 { line-height: 1.25rem; }
        .leading-6 { line-height: 1.5rem; }
        .leading-7 { line-height: 1.75rem; }
        .leading-8 { line-height: 2rem; }
        .leading-9 { line-height: 2.25rem; }
        .leading-110 { line-height: 1.1; }
        .leading-tight { line-height: 1.25; }
        .tracking-px { letter-spacing: 0.0625em; }
        .tracking-wide { letter-spacing: 0.025em; }
        .text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); }
        .text-black { --tw-text-opacity: 1; color: rgb(0 0 0 / var(--tw-text-opacity)); }
        .text-graphite { --tw-text-opacity: 1; color: rgb(34 34 34 / var(--tw-text-opacity)); }
        .text-gray-500 { --tw-text-opacity: 1; color: rgb(107 114 128 / var(--tw-text-opacity)); }
        .text-brand-aubergine-500 { --tw-text-opacity: 1; color: rgb(92 6 140 / var(--tw-text-opacity)); }
        .text-brand-mint-500 { --tw-text-opacity: 1; color: rgb(46 216 195 / var(--tw-text-opacity)); }
        .text-brand-headline { --tw-text-opacity: 1; color: rgb(34 34 34 / var(--tw-text-opacity)); }
        .text-\[rgb\(252\2c 191\2c 2\)\] { --tw-text-opacity: 1; color: rgb(252 191 2 / var(--tw-text-opacity)); }
        .text-black\/60 { color: rgb(0 0 0 / 0.6); }
        .text-graphite\/\[\.60\] { color: rgb(34 34 34 / 0.6); }
        .underline { text-decoration-line: underline; }
        .underline-offset-4 { text-underline-offset: 4px; }
        .opacity-0 { opacity: 0; }
        .opacity-100 { opacity: 1; }
        .opacity-30 { opacity: 0.3; }
        .opacity-80 { opacity: 0.8; }
        .shadow-\[0px_8px_20px_0px_rgba\(34\2c 34\2c 34\2c 0\.06\)\] { --tw-shadow: 0px 8px 20px 0px rgba(34,34,34,0.06); --tw-shadow-colored: 0px 8px 20px 0px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); }
        .backdrop-blur-lg { --tw-backdrop-blur: blur(16px); -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); }
        .backdrop-blur-xl { --tw-backdrop-blur: blur(24px); -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); }
        .transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 0.15s; }
        .transition-colors { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 0.15s; }
        .transition-opacity { transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 0.15s; }
        .transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 0.15s; }
        .duration-200 { transition-duration: 0.2s; }
        .duration-300 { transition-duration: 0.3s; }
        .duration-700 { transition-duration: 0.7s; }
        .ease-in-out { transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); }
        .ease-out { transition-timing-function: cubic-bezier(0, 0, 0.2, 1); }
        .ease-linear { transition-timing-function: linear; }
        .scroll-mt-20 { scroll-margin-top: 5rem; }
        .scroll-mt-32 { scroll-margin-top: 8rem; }
        .list-disc { list-style-type: disc; }
        .list-decimal { list-style-type: decimal; }
        .cursor-pointer { cursor: pointer; }
        .pointer-events-none { pointer-events: none; }

        /* --- Spezifische Stile aus den Original-CSS --- */
        .dark .dark\:text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); }
        .dark .dark\:text-brand-fuchsia-500 { --tw-text-opacity: 1; color: rgb(250 102 236 / var(--tw-text-opacity)); }
        .dark .dark\:text-brand-mint-500 { --tw-text-opacity: 1; color: rgb(46 216 195 / var(--tw-text-opacity)); }
        .dark .dark\:border-white { --tw-border-opacity: 1; border-color: rgb(255 255 255 / var(--tw-border-opacity)); }
        .dark .dark\:bg-\[\#FFFFFF99\] { background-color: #FFFFFF99; }
        .dark .dark\:bg-none { background-image: none; }
        .dark .dark\:backdrop-blur-xl { --tw-backdrop-blur: blur(24px); -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); }
        .hover\:border-brand-aubergine-500:hover { --tw-border-opacity: 1; border-color: rgb(92 6 140 / var(--tw-border-opacity)); }
        .hover\:border-white:hover { --tw-border-opacity: 1; border-color: rgb(255 255 255 / var(--tw-border-opacity)); }
        .hover\:bg-brand-fuchsia-white:hover { --tw-bg-opacity: 1; background-color: rgb(255 247 254 / var(--tw-bg-opacity)); }
        .hover\:bg-white:hover { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); }
        .hover\:bg-brand-btn-hover:hover { background-image: linear-gradient(270deg, #8822C1, #5C068C 97.52%); }
        .hover\:text-brand-aubergine-500:hover { --tw-text-opacity: 1; color: rgb(92 6 140 / var(--tw-text-opacity)); }
        .hover\:underline:hover { text-decoration-line: underline; }
        .hover\:opacity-100:hover { opacity: 1; }
        .hover\:\[background-clip\:border-box\]:hover { background-clip: border-box; }
        .dark .hover\:dark\:bg-white:hover { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); }
        .dark .hover\:dark\:text-brand-aubergine-500:hover { --tw-text-opacity: 1; color: rgb(92 6 140 / var(--tw-text-opacity)); }
        .focus\:outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; }

        /* --- Accordion --- */
        details > summary { list-style: none; }
        details > summary::-webkit-details-marker { display: none; }
        .open\:bg-brand-fuchsia-white[open] { --tw-bg-opacity: 1; background-color: rgb(255 247 254 / var(--tw-bg-opacity)); }
        .open\:p-4[open] { padding: 1rem; }
        details.accordion-card { padding: 0; }
        details.accordion-card[open] { padding: 1rem; }
        @media (min-width: 1024px) {
            details.accordion-card[open] { padding: 2rem; }
        }
        details.accordion-card > summary { padding: 1rem; }
        details.accordion-card > summary > h3,
        details.accordion-card > summary > p {
            min-width: 0;
            flex: 1;
        }
        @media (min-width: 1024px) {
            details.accordion-card > summary { padding: 1.5rem 2rem; }
        }
        details.accordion-card[open] > summary { padding: 0 0 0.5rem; }
        .group[open] .group-open\:hidden { display: none; }
        .group[open] .group-open\:block { display: block; }
        .group:not([open]) .group-open\:block { display: none; }
        .group[open] .group-open\:p-0 { padding: 0; }

        /* --- Swiper Overrides --- */
        .testimonials-slider {
            position: relative;
            margin-top: 1rem;
        }
        .testimonials-viewport {
            overflow: hidden;
            margin: 0 -0.5rem;
        }
        .testimonials-track {
            display: flex;
            transition: transform 0.4s ease;
            will-change: transform;
        }
        .testimonial-slide {
            flex: 0 0 100%;
            min-width: 0;
            padding: 0 0.5rem;
            box-sizing: border-box;
        }
        @media (min-width: 768px) {
            .testimonial-slide { flex: 0 0 50%; }
        }
        @media (min-width: 1024px) {
            .testimonial-slide { flex: 0 0 33.3333%; }
        }
        .testimonial-card {
            display: flex;
            flex-direction: column;
            height: 100%;
        }
        .testimonial-img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            border-radius: 0.375rem;
        }
        @media (min-width: 1024px) {
            .testimonial-img { border-radius: 0.75rem; }
        }
        .testimonial-caption {
            display: flex;
            flex-direction: column;
            margin-top: 1rem;
            gap: 0.25rem;
        }
        @media (min-width: 768px) {
            .testimonial-caption { margin-top: 2rem; }
        }
        .testimonial-name {
            color: rgb(0 0 0 / 0.6);
            font-size: 1.125rem;
            line-height: 1.75rem;
            order: -1;
        }
        @media (min-width: 1536px) {
            .testimonial-name {
                font-size: 1.25rem;
                line-height: 2.25rem;
            }
        }
        .testimonial-quote {
            font-weight: 700;
            font-size: 1.25rem;
            line-height: 1.25;
            color: #222;
        }
        @media (min-width: 1536px) {
            .testimonial-quote {
                font-size: 1.5rem;
                line-height: 2rem;
            }
        }
        .testimonials-nav {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
            margin-top: 2rem;
        }
        .testimonials-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 3rem;
            height: 3rem;
            border-radius: 9999px;
            border: 1.5px solid #222;
            background: transparent;
            color: #222;
            cursor: pointer;
            transition: border-color 0.2s, color 0.2s, background 0.2s, opacity 0.2s;
            flex-shrink: 0;
        }
        .testimonials-btn svg {
            width: 1.5rem;
            height: 1.5rem;
        }
        .testimonials-btn:hover:not(:disabled) {
            border-color: #5c068c;
            color: #5c068c;
        }
        .testimonials-btn.is-disabled,
        .testimonials-btn:disabled {
            opacity: 0.3;
            cursor: not-allowed;
        }

        /* --- Responsive --- */
        @media (min-width: 640px) {
            .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
        }
        @media (min-width: 768px) {
            .md\:hidden { display: none; }
            .md\:block { display: block; }
            .md\:flex { display: flex; }
            .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .md\:flex-row { flex-direction: row; }
            .md\:items-center { align-items: center; }
            .md\:justify-between { justify-content: space-between; }
            .md\:gap-6 { gap: 1.5rem; }
            .md\:gap-8 { gap: 2rem; }
            .md\:p-0 { padding: 0; }
            .md\:p-6 { padding: 1.5rem; }
            .md\:p-8 { padding: 2rem; }
            .md\:py-16 { padding-top: 4rem; padding-bottom: 4rem; }
            .md\:py-18 { padding-top: 4.5rem; padding-bottom: 4.5rem; }
            .md\:px-0 { padding-left: 0; padding-right: 0; }
            .md\:px-8 { padding-left: 2rem; padding-right: 2rem; }
            .md\:pb-36 { padding-bottom: 9rem; }
            .md\:mt-2 { margin-top: 0.5rem; }
            .md\:mt-9 { margin-top: 2.25rem; }
            .md\:mb-0 { margin-bottom: 0; }
            .md\:mb-2 { margin-bottom: 0.5rem; }
            .md\:mb-5 { margin-bottom: 1.25rem; }
            .md\:min-h-\[69px\] { min-height: 69px; }
            .md\:h-4 { height: 1rem; }
            .md\:h-8 { height: 2rem; }
            .md\:w-8 { width: 2rem; }
            .md\:w-12 { width: 3rem; }
            .md\:w-\[240px\] { width: 240px; }
            .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
            .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
            .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
            .md\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
            .md\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
            .md\:leading-8 { line-height: 2rem; }
            .md\:rounded-lg { border-radius: 0.75rem; }
            .md\:scroll-mt-24 { scroll-margin-top: 6rem; }
        }

        @media (min-width: 1024px) {
            .lg\:block { display: block; }
            .lg\:hidden { display: none; }
            .lg\:flex { display: flex; }
            .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
            .lg\:col-span-4 { grid-column: span 4 / span 4; }
            .lg\:col-span-8 { grid-column: span 8 / span 8; }
            .lg\:order-last { order: 9999; }
            .lg\:flex-row { flex-direction: row; }
            .lg\:items-center { align-items: center; }
            .lg\:justify-between { justify-content: space-between; }
            .lg\:gap-12 { gap: 3rem; }
            .lg\:space-x-12 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(3rem * var(--tw-space-x-reverse)); margin-left: calc(3rem * calc(1 - var(--tw-space-x-reverse))); }
            .lg\:space-y-4 > :not([hidden]) ~ :not([hidden]) { --tw-space-y-reverse: 0; margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); margin-bottom: calc(1rem * var(--tw-space-y-reverse)); }
            .lg\:p-28 { padding: 7rem; }
            .lg\:p-3 { padding: 0.75rem; }
            .lg\:p-8 { padding: 2rem; }
            .lg\:px-8 { padding-left: 2rem; padding-right: 2rem; }
            .lg\:py-0 { padding-top: 0; padding-bottom: 0; }
            .lg\:py-28 { padding-top: 7rem; padding-bottom: 7rem; }
            .lg\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
            .lg\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
            .lg\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
            .lg\:leading-4 { line-height: 1rem; }
            .lg\:leading-8 { line-height: 2rem; }
            .lg\:rounded-lg { border-radius: 0.75rem; }
            .lg\:open\:p-8[open] { padding: 2rem; }
        }

        @media (min-width: 1280px) {
            .xl\:px-28 { padding-left: 7rem; padding-right: 7rem; }
            .xl\:leading-9 { line-height: 2.25rem; }
        }

        @media (min-width: 1536px) {
            .\32xl\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
            .\32xl\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
            .\32xl\:text-5xl { font-size: 3rem; line-height: 1; }
            .\32xl\:text-6xl { font-size: 3.75rem; line-height: 1; }
            .\32xl\:text-8xl { font-size: 6rem; line-height: 1; }
            .\32xl\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
            .\32xl\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
            .\32xl\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
            .\32xl\:leading-8 { line-height: 2rem; }
            .\32xl\:leading-9 { line-height: 2.25rem; }
            .\32xl\:px-12 { padding-left: 3rem; padding-right: 3rem; }
            .\32xl\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
            .\32xl\:py-7 { padding-top: 1.75rem; padding-bottom: 1.75rem; }
            .\32xl\:h-\[36px\] { height: 36px; }
            .\32xl\:w-\[66px\] { width: 66px; }
        }

        /* --- spezifische Utility-Klassen aus dem Original --- */
        [\&\>\ p+p] { margin-top: 1rem; }
        [\&\>p+p] { margin-top: 1rem; }
        [\&\_p] { font-family: 'Inter', sans-serif; font-weight: 400; }
        [\&\_a] { text-decoration: underline; color: #5c068c; }
        .dark .dark\:text-brand-fuchsia-500 { color: #fa66ec; }
        .dark .dark\:text-white { color: #fff; }
        .\[\.disclaimer\] { font-size: 0.875rem; display: inline-block; }
        .\[\.disclaimer\] { font-size: 0.875rem; display: inline-block; }
        .\[\.disclaimer\] { font-size: 0.875rem; display: inline-block; }
        /* ... usw. (die meisten werden bereits von den bestehenden Klassen abgedeckt) */

        /* Erste Schritte: Die spezifischen Text-Inline-Klassen */
        .\[\.disclaimer\] { display: inline-block; font-size: 0.875rem; }
        .\[\.disclaimer\] { display: inline-block; font-size: 0.875rem; }
        .\[\.disclaimer\] { display: inline-block; font-size: 0.875rem; }
        .\[\&\.disclaimer\] { display: inline-block; font-size: 0.875rem; }
        .\[\&_p\] { font-family: 'Inter', sans-serif; font-weight: 400; }
        .\[\&_a\] { text-decoration: underline; }
        .\[\&_a\] { color: #5c068c; }
        .\[\&_ul\] { list-style-type: disc; }
        .\[\&_ol\] { list-style-type: decimal; }
        .\[\&_li\] { margin-left: 2rem; margin-top: 0.5rem; margin-bottom: 0.5rem; }
        @media (min-width: 1024px) {
            .lg\:\[\&_li\] { margin-top: 1rem; margin-bottom: 1rem; }
        }
        .dark .dark\:text-brand-fuchsia-500 { --tw-text-opacity: 1; color: rgb(250 102 236 / var(--tw-text-opacity)); }
        .dark .dark\:text-brand-mint-500 { --tw-text-opacity: 1; color: rgb(46 216 195 / var(--tw-text-opacity)); }

        /* Star Rating Halbe Sterne */
        .half-star-fill {
            fill: url(#half-fill);
        }
        .svg-grad {
            display: block;
        }
        .text-\[rgb\(252\2c 191\2c 2\)\] {
            --tw-text-opacity: 1;
            color: rgb(252 191 2 / var(--tw-text-opacity));
        }

        .text-gray-400 {
            --tw-text-opacity: 1;
            color: rgb(156 163 175 / var(--tw-text-opacity));
        }
        .fill-current {
            fill: currentColor;
        }

        /* versteckt den Overlay-Style der Originalseite (wird nicht benötigt) */
        .opacity-0 { opacity: 0; }
        .pointer-events-none { pointer-events: none; }
        .fixed { position: fixed; }
        .top-0 { top: 0; }
        .bottom-0 { bottom: 0; }
        .left-0 { left: 0; }
        .right-0 { right: 0; }
        .z-20 { z-index: 20; }
        .bg-graphite { background-color: #222; }
        .bg-opacity-40 { --tw-bg-opacity: 0.4; }

        /* Zusätzlich: Externe Icons nicht laden -> nutze SVGs */

        .quiz-widget {
            background: #fff;
            border-radius: 0.75rem;
            padding: 1.5rem;
            box-shadow: 0 8px 20px rgba(34, 34, 34, 0.06);
        }
        @media (min-width: 768px) {
            .quiz-widget { padding: 2rem; }
        }
        .quiz-progress {
            display: flex;
            gap: 0.5rem;
            margin-bottom: 1.5rem;
        }
        .quiz-progress span {
            flex: 1;
            height: 4px;
            border-radius: 2px;
            background: #e5e7eb;
            transition: background 0.3s;
        }
        .quiz-progress span.is-done,
        .quiz-progress span.is-active {
            background: #5c068c;
        }
        .quiz-step { display: none; }
        .quiz-step.is-active { display: block; }
        .quiz-step h3 {
            font-family: 'Barlow', sans-serif;
            font-weight: 700;
            font-size: 1.25rem;
            color: #222;
            margin-bottom: 1rem;
        }
        @media (min-width: 768px) {
            .quiz-step h3 { font-size: 1.5rem; }
        }
        .quiz-options {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
            margin-bottom: 1.5rem;
        }
        .quiz-option {
            width: 100%;
            max-width: 100%;
            text-align: left;
            padding: 0.875rem 1rem;
            border: 1.5px solid #d1d5db;
            border-radius: 0.375rem;
            background: #fff;
            color: #222;
            font-family: 'Inter', sans-serif;
            font-size: 1rem;
            cursor: pointer;
            transition: border-color 0.2s, background 0.2s;
        }
        .quiz-option:hover,
        .quiz-option.is-selected {
            border-color: #5c068c;
            background: #fbf5ff;
        }
        .quiz-nav {
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
        }
        .quiz-nav button {
            flex: 1;
            min-width: 0;
        }
        .quiz-form .form-field {
            margin-bottom: 1rem;
        }
        .quiz-form label {
            display: block;
            font-family: 'Inter', sans-serif;
            font-size: 0.875rem;
            font-weight: 500;
            color: #222;
            margin-bottom: 0.375rem;
        }
        .quiz-form input {
            width: 100%;
            max-width: 100%;
            padding: 0.75rem 1rem;
            border: 1.5px solid #d1d5db;
            border-radius: 0.375rem;
            font-size: 1rem;
            color: #222;
        }
        .quiz-form input:focus {
            outline: none;
            border-color: #5c068c;
        }
        .steps-section {
            padding-left: 1.25rem;
            padding-right: 1.25rem;
        }
        @media (min-width: 1280px) {
            .steps-section {
                padding-left: 2rem;
                padding-right: 2rem;
            }
        }
        .steps-accordion { display: flex; flex-direction: column; gap: 1rem; }
        @media (min-width: 768px) {
            .steps-accordion { gap: 1.5rem; }
        }
        .step-item {
            border: 1px solid #fff;
            border-radius: 0.75rem;
            background: rgba(255, 255, 255, 0.05);
            overflow: hidden;
            transition: border-color 0.2s, background 0.2s;
        }
        .step-item.is-active {
            border-color: #fff;
            background: rgba(255, 255, 255, 0.1);
        }
        .step-item:not(.is-active):hover {
            border-color: rgba(255, 255, 255, 0.6);
        }
        .step-trigger {
            width: 100%;
            max-width: 100%;
            text-align: left;
            padding: 1rem 1.5rem;
            background: transparent;
            border: none;
            color: #fff;
            cursor: pointer;
            font-family: 'Barlow', sans-serif;
            font-weight: 700;
            font-size: 1.25rem;
            line-height: 1.3;
        }
        @media (min-width: 1536px) {
            .step-trigger { font-size: 1.5rem; padding: 1.5rem 2rem; }
        }
        .step-content {
            max-height: 0;
            overflow: hidden;
            opacity: 0;
            padding: 0 1.5rem;
            transition: max-height 0.35s ease, opacity 0.3s ease, padding 0.3s ease;
        }
        .step-item.is-active .step-content {
            max-height: 480px;
            opacity: 1;
            padding: 0 1.5rem 1.5rem;
        }
        @media (min-width: 1536px) {
            .step-item.is-active .step-content { padding: 0 2rem 2rem; }
        }
        .step-content p {
            color: #fff;
            font-size: 1.125rem;
            line-height: 1.5;
            margin-bottom: 0.75rem;
        }
        .step-content a {
            color: #fa66ec;
            font-weight: 700;
            text-decoration: underline;
        }
        .step-mobile-img {
            display: block;
            width: 100%;
            max-width: 100%;
            aspect-ratio: 4/3;
            object-fit: cover;
            margin-top: 1rem;
        }
        @media (min-width: 1024px) {
            .step-mobile-img { display: none; }
        }
        .step-image-panel {
            position: relative;
            min-height: 360px;
        }
        @media (min-width: 1024px) {
            .step-image-panel {
                min-height: 100%;
            }
        }
        .step-image-panel img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 0;
            transition: opacity 0.5s ease;
        }
        .step-image-panel img.is-visible { opacity: 1; }
        details.accordion-card .icon-minus { display: none; }
        details.accordion-card[open] .icon-plus { display: none; }
        details.accordion-card[open] .icon-minus { display: block; }

        .header-wrap {
            background: #fff;
            width: 100%;
            max-width: 100%;
            overflow-x: clip;
        }
        .header-wrap .container {
            padding-left: 1rem;
            padding-right: 1rem;
            padding-top: 0.75rem;
            padding-bottom: 0.75rem;
        }
        @media (min-width: 640px) {
            .header-wrap .container {
                padding-left: 1.25rem;
                padding-right: 1.25rem;
                padding-top: 1rem;
                padding-bottom: 1rem;
            }
        }
        @media (min-width: 1024px) {
            .header-wrap .container {
                padding-top: 0;
                padding-bottom: 0;
            }
        }
        .header-inner {
            min-width: 0;
            max-width: 100%;
            gap: 0.5rem;
        }
        .header-actions {
            min-width: 0;
            max-width: 100%;
            gap: 0.5rem;
        }
        @media (min-width: 640px) {
            .header-actions {
                gap: 0.75rem;
            }
        }
        .header-cta {
            max-width: 100%;
            white-space: nowrap;
        }
        .header-notice {
            display: inline-block;
            padding: 4px 12px;
            font-family: 'Inter', sans-serif;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #50575c;
            background: #f4f4f5;
            border: 1px solid #d2d4d7;
            border-radius: 4px;
            white-space: nowrap;
        }
        @media (min-width: 768px) {
            .header-notice {
                font-size: 0.875rem;
                padding: 6px 14px;
            }
        }
        .partners-marquee-wrap {
            min-width: 0;
            max-width: 100%;
        }
        .partners-marquee {
            overflow: hidden;
            min-width: 0;
            max-width: 100%;
            mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
            -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
        }
        .partners-marquee-track {
            display: flex;
            align-items: center;
            gap: 2.5rem;
            width: max-content;
            animation: partners-scroll 28s linear infinite;
        }
        .partners-marquee-track img {
            height: 28px;
            width: auto;
            max-width: 140px;
            object-fit: contain;
            opacity: 0.65;
            flex-shrink: 0;
        }
        @media (min-width: 768px) {
            .partners-marquee-track img {
                height: 32px;
            }
        }
        @keyframes partners-scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }
        @media (max-width: 640px) {
            .header-inner {
                flex-wrap: wrap;
            }
            .header-actions {
                flex: 1 1 100%;
                width: 100%;
                justify-content: flex-end;
            }
            .header-cta {
                font-size: 0.8125rem;
                padding: 0.5rem 0.625rem;
                line-height: 1.25;
            }
            .header-notice {
                word-break: break-all;
                padding: 3px 8px;
                font-size: 0.6875rem;
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .partners-marquee-track {
                animation: none;
            }
        }
