        html.lenis, html.lenis body { height: auto; }
        .lenis.lenis-smooth { scroll-behavior: auto !important; }
        .lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
        .lenis.lenis-stopped { overflow: hidden; }

        .reveal,
        .stagger-item {
            opacity: 0;
            will-change: transform, opacity;
        }
        @media (prefers-reduced-motion: reduce) {
            .reveal,
            .stagger-item { opacity: 1 !important; transform: none !important; }
            .hero-slider { background-attachment: scroll !important; }
        }

        .navbar {
            transition: box-shadow 0.35s ease, backdrop-filter 0.35s ease, background-color 0.35s ease;
        }
        .navbar.is-scrolled {
            box-shadow: 0 12px 28px rgba(43, 8, 55, 0.22);
            background: rgba(249, 166, 255, 0.92);
        }

        .scroll-down {
            cursor: pointer;
            transition: opacity 0.3s ease, transform 0.3s ease;
        }
        .scroll-down:hover { transform: translateY(4px); }

        .hero-slider {
            background-attachment: scroll;
            transform-origin: center center;
        }
        @media (max-width: 900px), (hover: none) {
            .hero-slider {
                transform: none !important;
                will-change: auto;
                -webkit-transform: none !important;
            }
        }

        .soft-panel,
        .wellness-card,
        .event-card,
        .card,
        .info-tile,
        .trust-item {
            transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
        }
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            font-family: 'Special Gothic', 'Alata', sans-serif;
            font-weight: 400;
            background-color: var(--purple-royal);
            background-image: none;
            color: #fff;
            line-height: 1.55;
            overflow-x: hidden;
            position: relative;
        }
        body::before {
            content: '';
            position: absolute;
            inset: 0;
            z-index: -1;
            pointer-events: none;
            background-image: url('../images/rh-monogram.png');
            background-size: 150px 150px;
            background-repeat: repeat;
            background-position: 0 0;
            opacity: 0.8;
        }
        :root {
            --purple-deep: #2c1b4a;
            --purple-primary: #4b084d;
            --purple-soft: #efe5ff;
            --purple-mid: #a07ce3;
            --purple-royal: #4b084d;
            --purple-royal-soft: #5a1a5c;
            --gray-lavender: #5e5270;
            --shadow-xl: 0 25px 40px -12px rgba(0,0,0,0.15);
            --booking-blue: #003b95;
            --booking-light: #e1ebf4;
            /* Einheitliche Seitenbreite + Randabstand */
            --content-max: 1200px;
            --gutter: clamp(1.25rem, 4vw, 2rem);
            --section-y: clamp(2.75rem, 6vw, 4rem);
        }
        h1, h2, h3, h4, .logo h2, .nav-links li, .book-btn, .interactive-tag {
            font-family: 'Special Gothic', 'Alata', sans-serif;
            font-weight: 400;
        }
        h1 { font-size: 3rem; letter-spacing: -0.02em; font-weight: 400; }
        h2 { font-size: 2rem; margin-bottom: 1rem; font-weight: 400; }
        h3 { font-size: 1.4rem; font-weight: 400; }
        
        /* ===== NAVIGATION ===== */
        .navbar {
            background: #f9a6ff;
            backdrop-filter: blur(12px);
            position: sticky;
            top: 0;
            z-index: 200;
            border-bottom: 1px solid rgba(109, 59, 198, 0.15);
            border-bottom-left-radius: 15px;
            border-bottom-right-radius: 15px;
            box-shadow: 10px 10px 15px 5px rgba(0,0,0,0.3);
            padding-top: env(safe-area-inset-top, 0px);
        }

        .nav-container {
            --nav-logo-gap: 1.25rem; /* gleicher Abstand links & rechts zum Logo */
            max-width: var(--content-max);
            width: 100%;
            height: 120px;
            margin: 0 auto;
            padding: 0.9rem var(--gutter);
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.75rem;
            position: relative;
            box-sizing: border-box;
        }

        .nav-left-outer {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            z-index: 6;
        }

        .lang-btn {
            font-family: 'Special Gothic', 'Alata', sans-serif;
            background: transparent;
            color: var(--purple-primary);
            border: 2px solid var(--purple-primary);
            padding: 0.5rem 1rem;
            border-radius: 50px;
            font-weight: 500;
            font-size: 0.8rem;
            cursor: pointer;
            transition: 0.2s;
            white-space: nowrap;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            flex-shrink: 0;
        }

        .lang-btn:hover {
            background: var(--purple-primary);
            color: white;
            transform: scale(1.02);
        }

        .lang-btn i {
            font-size: 0.9rem;
        }

        /* Mitte: links Text | Logo | rechts Text – gleicher Abstand + Overlap */
        .nav-center {
            flex: 1 1 auto;
            min-width: 0;
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            position: relative;
        }

        .nav-left {
            display: flex;
            justify-content: flex-end;
            align-items: center;
            gap: 0.85rem;
            list-style: none;
            margin: 0;
            margin-right: var(--nav-logo-gap);
            padding: 0;
            position: relative;
            z-index: 1;
            white-space: nowrap;
        }

        .nav-left li {
            font-weight: 500;
            cursor: pointer;
            transition: 0.2s;
            color: #26004d;
            font-size: 1.15rem;
            position: relative;
        }

        .nav-left li:hover, 
        .nav-left li.active {
            color: var(--purple-primary);
        }

        /* ===== DROPDOWN (Veranstaltungen) ===== */
        .dropdown {
            position: relative;
            display: inline-block;
        }

        .dropdown-content {
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%) translateY(4px);
            min-width: 240px;
            /* Padding-top schließt die Hover-Lücke zum Trigger */
            padding: 0.85rem 0.45rem 0.45rem;
            margin: 0;
            background: transparent;
            z-index: 250;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
        }

        .dropdown-content::after {
            content: '';
            position: absolute;
            inset: 0.55rem 0 0;
            background: rgba(255, 255, 255, 0.97);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            box-shadow: 0 18px 40px -18px rgba(44, 27, 74, 0.45), 0 0 0 1px rgba(75, 8, 77, 0.08);
            border-radius: 1rem;
            z-index: -1;
        }

        .dropdown-content::before {
            content: '';
            position: absolute;
            top: 0.42rem;
            left: 50%;
            width: 12px;
            height: 12px;
            background: rgba(255, 255, 255, 0.97);
            border-left: 1px solid rgba(75, 8, 77, 0.08);
            border-top: 1px solid rgba(75, 8, 77, 0.08);
            transform: translateX(-50%) rotate(45deg);
            z-index: 0;
        }

        .dropdown-content li {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            gap: 0.7rem;
            padding: 0.7rem 0.9rem;
            font-size: 0.98rem;
            color: #26004d;
            list-style: none;
            cursor: pointer;
            transition: background 0.2s, color 0.2s, transform 0.2s;
            white-space: nowrap;
            border-radius: 0.75rem;
        }

        .dropdown-content li i {
            width: 1.15rem;
            text-align: center;
            color: var(--purple-primary);
            opacity: 0.85;
            font-size: 0.95rem;
        }

        .dropdown-content li:hover,
        .dropdown-content li.active {
            background: var(--purple-soft);
            color: var(--purple-primary);
        }

        .dropdown-content li:hover {
            transform: translateX(2px);
        }

        .dropdown:hover .dropdown-content,
        .dropdown.open .dropdown-content {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateX(-50%) translateY(0);
        }

        .nav-ext-link {
            color: inherit;
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 0.7rem;
            width: 100%;
        }

        .dropdown .dropbtn {
            font-weight: 500;
            cursor: pointer;
            color: #26004d;
            font-size: 1.15rem;
            transition: 0.2s;
            display: flex;
            align-items: center;
            gap: 0.35rem;
            background: none;
            border: none;
            padding: 0;
            font-family: inherit;
        }

        .dropdown .dropbtn:hover,
        .dropdown.open .dropbtn,
        .dropdown.has-active .dropbtn {
            color: var(--purple-primary);
        }

        .dropdown .dropbtn i {
            font-size: 0.75rem;
            transition: transform 0.25s ease;
        }

        .dropdown:hover .dropbtn i,
        .dropdown.open .dropbtn i {
            transform: rotate(180deg);
        }

        .logo-center {
            position: relative;
            z-index: 2;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .logo-center a,
        .logo-mobile a {
            display: flex;
            align-items: center;
            justify-content: center;
            line-height: 0;
            cursor: pointer;
        }

        .logo-center img {
            height: 112px;
            width: auto;
            display: block;
            filter: drop-shadow(0 6px 14px rgba(48, 9, 51, 0.18));
            transition: transform 0.25s ease, filter 0.25s ease;
        }

        .logo-center a:hover img,
        .logo-mobile a:hover img {
            transform: scale(1.03);
            filter: drop-shadow(0 8px 18px rgba(48, 9, 51, 0.28));
        }

        .nav-right {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            gap: 0.85rem;
            list-style: none;
            margin: 0;
            margin-left: var(--nav-logo-gap);
            padding: 0;
            position: relative;
            z-index: 1;
            white-space: nowrap;
        }

        .nav-right li {
            font-weight: 500;
            cursor: pointer;
            transition: 0.2s;
            color: #26004d;
            font-size: 1.15rem;
        }

        .nav-right li:hover,
        .nav-right li.active {
            color: var(--purple-primary);
        }

        .nav-right-outer {
            flex: 0 0 auto;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            z-index: 6;
        }

        .book-btn {
            font-family: 'Century Gothic', 'CenturyGothic', 'AppleGothic', 'Inter', sans-serif;
            background: var(--purple-primary);
            color: white;
            border: none;
            padding: 0.55rem 1.4rem;
            border-radius: 50px;
            font-weight: 500;
            font-size: 0.9rem;
            cursor: pointer;
            transition: 0.2s;
            box-shadow: 0 6px 14px rgba(109, 59, 198, 0.3);
            white-space: nowrap;
        }

        .book-btn:hover {
            background: var(--purple-deep);
            transform: scale(1.02);
        }

        .burger-menu {
            display: none;
            flex-direction: column;
            gap: 5px;
            cursor: pointer;
            padding: 5px;
            z-index: 210;
        }

        .burger-menu span {
            display: block;
            width: 28px;
            height: 3px;
            background: var(--purple-primary);
            border-radius: 3px;
            transition: all 0.3s ease;
        }

        .burger-menu.active span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }

        .burger-menu.active span:nth-child(2) {
            opacity: 0;
        }

        .burger-menu.active span:nth-child(3) {
            transform: rotate(-45deg) translate(5px, -5px);
        }

        .mobile-menu {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            max-width: 100vw;
            height: 100vh;
            height: 100dvh;
            background: rgba(255, 255, 255, 0.98);
            backdrop-filter: blur(10px);
            z-index: 199;
            padding:
                calc(80px + env(safe-area-inset-top, 0px))
                max(1rem, env(safe-area-inset-right, 0px))
                calc(1.25rem + env(safe-area-inset-bottom, 0px))
                max(1rem, env(safe-area-inset-left, 0px));
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            gap: 1rem;
            overflow-x: hidden;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            box-sizing: border-box;
        }

        .mobile-menu.open {
            display: flex;
        }

        a.book-btn {
            color: #fff;
            text-decoration: none;
            box-sizing: border-box;
        }

        .mobile-menu ul {
            list-style: none;
            text-align: center;
            width: 100%;
        }

        .mobile-menu ul li {
            font-size: 1.5rem;
            font-weight: 500;
            color: #26004d;
            padding: 0.8rem 0;
            cursor: pointer;
            transition: 0.2s;
            border-bottom: 1px solid rgba(109, 59, 198, 0.1);
        }

        .mobile-menu ul li:hover,
        .mobile-menu ul li.active {
            color: var(--purple-primary);
        }

        .mobile-menu .mobile-submenu {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.3rem;
            padding-left: 0;
            text-align: center;
        }

        .mobile-menu .mobile-submenu li {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.65rem;
            font-size: 1.2rem;
            padding: 0.4rem 0;
            border-bottom: none;
            width: 100%;
        }
        .mobile-menu .mobile-submenu li i {
            width: 1.1rem;
            text-align: center;
            color: var(--purple-primary);
            font-size: 0.95rem;
        }
        .mobile-menu .mobile-submenu a.nav-page-link {
            justify-content: center;
            width: auto;
        }

        .mobile-menu .mobile-buttons {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            width: 100%;
            max-width: 300px;
        }

        .mobile-menu .mobile-buttons .book-btn {
            width: 100%;
            text-align: center;
            padding: 0.8rem;
        }

        .mobile-menu .mobile-buttons .lang-btn {
            justify-content: center;
            padding: 0.8rem;
        }

        @media (max-width: 1100px) {
            .nav-container {
                --nav-logo-gap: 0.85rem;
                height: 100px;
            }
            .logo-center img { height: 88px; }
            .nav-left li,
            .nav-right li,
            .dropdown .dropbtn {
                font-size: 1rem;
            }
            .nav-left,
            .nav-right {
                gap: 0.55rem;
            }
        }

        @media (max-width: 900px) {
            .nav-center {
                display: none;
            }
            .nav-right-outer > a:has(.book-btn),
            .nav-right-outer .book-btn {
                display: none;
            }
            .nav-container {
                height: 80px;
                justify-content: space-between;
                padding-left: max(0.85rem, env(safe-area-inset-left, 0px));
                padding-right: max(0.85rem, env(safe-area-inset-right, 0px));
            }
            .burger-menu {
                display: flex;
                flex-shrink: 0;
                min-width: 44px;
                min-height: 44px;
                align-items: center;
                justify-content: center;
            }
            .nav-right-outer {
                flex-shrink: 0;
                gap: 0.35rem;
            }
            .nav-left-outer {
                flex-shrink: 0;
            }
            .nav-left-outer {
                order: 0;
            }
            /* Logo mittig zwischen Lang & Burger */
            .nav-container::after {
                content: none;
            }
            .logo-mobile {
                display: flex;
                flex: 1;
                justify-content: center;
            }
            .logo-mobile img {
                height: 52px;
                width: auto;
            }
            .lang-btn span.lang-label {
                display: none;
            }
            .lang-btn {
                padding: 0.4rem 0.7rem;
                font-size: 0.7rem;
            }
        }

        @media (min-width: 901px) {
            .logo-mobile {
                display: none !important;
            }
        }

        @media (max-width: 480px) {
            .logo-mobile img { height: 42px; }
            .lang-btn { padding: 0.3rem 0.5rem; font-size: 0.7rem; }
            .lang-btn span.lang-label { display: none; }
            .mobile-menu ul li { font-size: 1.2rem; }
        }

        /* ===== PAGE HEADER ===== */
        .page-header-slider {
            width: 100%;
            height: clamp(374px, 64vh, 720px); /* +20% Höhe */
            position: relative;
            margin-bottom: -6.5rem;
            overflow: hidden;
        }
        /* Maske nur auf Bild-Slider – Titel bleibt klar sichtbar darüber */
        .page-header-slider .swiper {
            width: 100%;
            height: 100%;
            position: relative;
            z-index: 1;
            isolation: isolate;
            -webkit-mask-image: linear-gradient(
                to bottom,
                #000 0%,
                #000 22%,
                rgba(0, 0, 0, 0.95) 40%,
                rgba(0, 0, 0, 0.7) 55%,
                rgba(0, 0, 0, 0.4) 70%,
                rgba(0, 0, 0, 0.16) 84%,
                rgba(0, 0, 0, 0.04) 94%,
                transparent 100%
            );
            mask-image: linear-gradient(
                to bottom,
                #000 0%,
                #000 22%,
                rgba(0, 0, 0, 0.95) 40%,
                rgba(0, 0, 0, 0.7) 55%,
                rgba(0, 0, 0, 0.4) 70%,
                rgba(0, 0, 0, 0.16) 84%,
                rgba(0, 0, 0, 0.04) 94%,
                transparent 100%
            );
        }
        .page-header-slider .swiper::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 75%;
            z-index: 3;
            pointer-events: none;
            background: linear-gradient(
                to bottom,
                transparent 0%,
                rgba(75, 8, 77, 0.04) 40%,
                rgba(75, 8, 77, 0.14) 65%,
                rgba(75, 8, 77, 0.28) 85%,
                rgba(75, 8, 77, 0.4) 100%
            );
        }
        .page-header-slider .swiper-slide,
        .page-header-static-bg {
            background-size: cover;
            background-position: center center;
            background-repeat: no-repeat;
        }
        /* Statischer Hero (ohne Slider), gleiche Maske wie Swiper */
        .page-header-static-bg {
            width: 100%;
            height: 100%;
            position: relative;
            z-index: 1;
            isolation: isolate;
            -webkit-mask-image: linear-gradient(
                to bottom,
                #000 0%,
                #000 22%,
                rgba(0, 0, 0, 0.95) 40%,
                rgba(0, 0, 0, 0.7) 55%,
                rgba(0, 0, 0, 0.4) 70%,
                rgba(0, 0, 0, 0.16) 84%,
                rgba(0, 0, 0, 0.04) 94%,
                transparent 100%
            );
            mask-image: linear-gradient(
                to bottom,
                #000 0%,
                #000 22%,
                rgba(0, 0, 0, 0.95) 40%,
                rgba(0, 0, 0, 0.7) 55%,
                rgba(0, 0, 0, 0.4) 70%,
                rgba(0, 0, 0, 0.16) 84%,
                rgba(0, 0, 0, 0.04) 94%,
                transparent 100%
            );
        }
        .page-header-static-bg::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 75%;
            z-index: 3;
            pointer-events: none;
            background: linear-gradient(
                to bottom,
                transparent 0%,
                rgba(75, 8, 77, 0.04) 40%,
                rgba(75, 8, 77, 0.14) 65%,
                rgba(75, 8, 77, 0.28) 85%,
                rgba(75, 8, 77, 0.4) 100%
            );
        }
        .page-header-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(105deg, rgba(30, 20, 50, 0.35), rgba(80, 50, 130, 0.18));
            z-index: 1;
        }
        .page-header-title {
            position: absolute;
            bottom: 42%;
            left: 0;
            right: 0;
            width: auto;
            max-width: none;
            padding: 0 var(--gutter);
            color: white;
            z-index: 30;
            font-size: 2.5rem;
            font-weight: 500;
            text-align: center; /* unter dem zentrierten RH-Logo */
            text-shadow: 0 2px 18px rgba(0,0,0,0.55), 0 0 2px rgba(0,0,0,0.35);
            pointer-events: none;
        }
        /* ===== KI BADGE ===== */
        .media-ai {
            position: relative;
            display: block;
            width: 100%;
            overflow: hidden;
        }
        .media-ai > img {
            display: block;
            width: 100%;
        }
        .ai-badge {
            position: absolute;
            top: 0.75rem;
            left: 0.75rem;
            z-index: 5;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.28rem 0.65rem;
            border-radius: 999px;
            background: rgba(44, 27, 74, 0.82);
            color: #fff;
            font-size: 0.68rem;
            font-weight: 500;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            line-height: 1;
            pointer-events: none;
            box-shadow: 0 6px 16px rgba(0,0,0,0.22);
        }
        .ai-badge i {
            font-size: 0.7rem;
        }

        /* ===== HERO ===== */
       .hero-slider {
    width: 100%;
    height: 90vh;
    position: relative;
    overflow: hidden;
    margin-bottom: -6.5rem;

    background-image: url('../images/header-slider-key.JPG'); /* <-- HIER DEIN BILD */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    background-attachment: scroll; /* Lenis-kompatibel */
    -webkit-mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 38%,
        rgba(0, 0, 0, 0.95) 52%,
        rgba(0, 0, 0, 0.72) 64%,
        rgba(0, 0, 0, 0.42) 76%,
        rgba(0, 0, 0, 0.18) 86%,
        rgba(0, 0, 0, 0.05) 94%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to bottom,
        #000 0%,
        #000 38%,
        rgba(0, 0, 0, 0.95) 52%,
        rgba(0, 0, 0, 0.72) 64%,
        rgba(0, 0, 0, 0.42) 76%,
        rgba(0, 0, 0, 0.18) 86%,
        rgba(0, 0, 0, 0.05) 94%,
        transparent 100%
    );
}
        .video-background {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
        }
        .hero-video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .hero-slider .slide-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background:
                linear-gradient(105deg, rgba(30, 20, 50, 0.32), rgba(80, 50, 130, 0.14)),
                linear-gradient(
                    to bottom,
                    rgba(75, 8, 77, 0) 45%,
                    rgba(75, 8, 77, 0.05) 62%,
                    rgba(75, 8, 77, 0.14) 78%,
                    rgba(75, 8, 77, 0.28) 90%,
                    rgba(75, 8, 77, 0.4) 100%
                );
            pointer-events: none;
            z-index: 1;
        }
        .hero-content {
            position: absolute;
            left: 50%;
            top: 50%;
            right: auto;
            bottom: auto;
            transform: translate(-50%, -50%);
            width: min(calc(100% - 2 * var(--gutter)), var(--content-max));
            margin: 0;
            padding: 0;
            color: white;
            z-index: 2;
            text-align: center;
            pointer-events: none;
        }
        .hero-content .hero-title,
        .hero-content h1 {
            margin: 0;
            padding: 0;
            font-family: 'Special Gothic', 'Alata', sans-serif;
            font-weight: 400;
            font-size: clamp(0.85rem, 4.6vw + 0.35rem, 3.9rem);
            line-height: 1;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            white-space: nowrap;
            text-align: center;
            color: #fff;
            text-shadow:
                0 2px 28px rgba(0, 0, 0, 0.5),
                0 1px 3px rgba(0, 0, 0, 0.4);
        }
        .hero-content p {
            display: none;
        }
        .scroll-down {
            position: absolute;
            bottom: 30px;
            left: 50%;
            font-size: 1.8rem;
            color: white;
            animation: bounce 2s infinite;
            z-index: 2;
        }
        @keyframes bounce { 0%,100%{transform:translateY(0);} 50%{transform:translateY(12px);} }

        /* ===== SECTIONS ===== */
        .parallax-section {
            background-attachment: scroll;
            background-size: cover;
            background-position: center;
            padding: var(--section-y) 0;
            color: white;
        }
        .parallax-section > .section-container {
            padding-top: 0;
            padding-bottom: 0;
        }
        .section-container {
            max-width: var(--content-max);
            width: 100%;
            margin-left: auto;
            margin-right: auto;
            padding: var(--section-y) var(--gutter);
            box-sizing: border-box;
        }
        /* Panel-Variante: gleiche Außenbreite, nur Optik */
        .section-container.section-panel {
            background: #fff;
            border-radius: 2rem;
            box-shadow: 0 4px 20px rgba(0,0,0,0.06);
            margin-top: 2rem;
            margin-bottom: 2rem;
        }
        .grid-2, .grid-3, .grid-4 {
            display: grid;
            gap: 2rem;
            width: 100%;
        }
        .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        @media (max-width: 1024px) {
            .grid-3, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
        }
        @media (max-width: 900px) {
            .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
        }
        @media (max-width: 600px) {
            h1:not(.hero-title) { font-size: 2rem; }
            h2 { font-size: 1.5rem; }
            h3 { font-size: 1.2rem; }
            .hero-slider {
                height: min(72dvh, 620px);
                height: min(72vh, 620px);
                margin-bottom: -4.25rem;
                background-attachment: scroll !important;
                transform: none !important;
            }
            .hero-content {
                left: 50%;
                right: auto;
                top: 48%;
                bottom: auto;
                transform: translate(-50%, -50%);
                width: calc(100% - 1.5rem);
                max-width: none;
                padding-inline: 0.25rem;
            }
            .hero-content .hero-title,
            .hero-content h1 {
                font-size: clamp(0.78rem, 3.6vw + 0.2rem, 1.55rem);
                letter-spacing: 0.06em;
                white-space: normal;
                line-height: 1.25;
                text-wrap: balance;
            }
            .page-header-slider {
                height: clamp(250px, 42dvh, 400px);
                height: clamp(250px, 42vh, 400px);
                margin-bottom: -4rem;
            }
            .page-header-title {
                font-size: clamp(1.25rem, 5vw, 1.65rem);
                left: 0.75rem;
                right: 0.75rem;
                bottom: 18%;
                text-align: center;
                max-width: none;
            }
            .soft-panel-pad { padding: 1.25rem 1.1rem; }
            .section-container { padding-left: max(1rem, env(safe-area-inset-left)); padding-right: max(1rem, env(safe-area-inset-right)); }
            .fact-grid { grid-template-columns: 1fr; }
            .trust-block { padding: 1.35rem 1.2rem 1.75rem; }
            .trust-static { gap: 1rem; }
            .gutschein-box {
                padding: 1.2rem;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                text-align: center;
                gap: 1.35rem;
            }
            .gutschein-img {
                width: min(220px, 72vw);
                margin-left: auto;
                margin-right: auto;
                flex: none;
                display: flex;
                justify-content: center;
                perspective: none;
            }
            .gutschein-card-3d {
                /* Auf Mobile ohne 3D-Schräge – sonst wirkt die Karte optisch nach links versetzt */
                transform: none !important;
                filter: drop-shadow(0 14px 22px rgba(44, 27, 74, 0.28));
                margin-inline: auto;
            }
            .gutschein-box:hover .gutschein-card-3d {
                transform: none !important;
            }
            .gutschein-info {
                width: 100%;
                align-items: center;
            }
            .footer-inner { flex-direction: column; text-align: center; align-items: center; }
            .action-row { flex-direction: column; align-items: stretch; gap: 0.75rem; }
            .interactive-tag { text-align: center; justify-content: center; }
        }

        /* iPhone 14/15/16/17 typische Breiten (390–430) */
        @media (max-width: 430px) {
            .nav-container { height: 72px; padding-inline: 0.75rem; }
            .logo-mobile img { height: 40px; }
            .mobile-menu {
                padding-top: calc(76px + env(safe-area-inset-top, 0px));
                gap: 0.85rem;
            }
            .mobile-menu ul li { font-size: 1.12rem; padding: 0.55rem 0; }
            .mobile-menu .mobile-submenu li { font-size: 1rem; padding: 0.35rem 0; }
            .mobile-menu .mobile-buttons {
                max-width: min(100%, 280px);
                margin-top: 0.25rem;
                padding-bottom: env(safe-area-inset-bottom, 0px);
            }
            .mobile-menu .mobile-buttons .book-btn,
            .mobile-menu .mobile-buttons .lang-btn {
                min-height: 48px;
                padding: 0.75rem 1rem;
            }
            .hero-slider { height: min(68dvh, 560px); }
            .hero-content .hero-title,
            .hero-content h1 {
                font-size: clamp(0.72rem, 3.2vw + 0.15rem, 1.35rem);
                letter-spacing: 0.05em;
            }
            .page-header-title {
                font-size: clamp(1.15rem, 4.8vw, 1.5rem);
                bottom: 20%;
            }
            .room-card .card-img { height: 200px; }
            .soft-panel-pad { padding: 1.1rem 0.95rem; }
            .event-grid,
            .arrangement-grid { gap: 1.25rem; }
            .gutschein-box h2 { font-size: 1.35rem; }
            .section-container.section-panel {
                border-radius: 1.25rem;
                margin-top: 1.25rem;
                margin-bottom: 1.25rem;
            }
        }

        @media (max-width: 390px) {
            .hero-content .hero-title,
            .hero-content h1 { font-size: clamp(0.68rem, 3vw + 0.12rem, 1.2rem); }
            .mobile-menu ul li { font-size: 1.05rem; }
        }

        .card {
            background: white;
            border-radius: 1.5rem;
            overflow: hidden;
            box-shadow: var(--shadow-xl);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            color: var(--purple-primary);
            border: 1px solid rgba(75, 8, 77, 0.06);
        }
        .card:hover {
            transform: translateY(-6px);
            box-shadow: 0 22px 44px -18px rgba(44, 27, 74, 0.35);
        }
        .card-img {
            width: 100%;
            height: 260px;
            object-fit: cover;
            transition: transform 0.55s ease;
        }
        .card:hover .card-img {
            transform: scale(1.04);
        }
        .card-content {
            padding: 1.25rem 1.35rem 1.5rem;
        }
        .room-grid {
            align-items: stretch;
        }
        .room-card {
            cursor: pointer;
            display: flex;
            flex-direction: column;
            height: 100%;
        }
        .room-card .card-img {
            height: 375px; /* ~25% höher als zuvor – mehr hochkant */
            flex-shrink: 0;
        }
        .room-card .card-content {
            display: flex;
            flex-direction: column;
            flex: 1;
        }
        .room-card .card-content h3 {
            min-height: 2.6em; /* gleiche Button-Höhe auch bei 1- vs. 2-Zeilen-Titeln */
        }
        .room-card .room-detail-btn {
            margin-top: auto;
            align-self: flex-start;
        }
        @media (max-width: 768px) {
            .room-grid {
                gap: 1.15rem !important;
            }
            .room-card .card-img {
                height: 275px;
            }
            .room-card .card-content {
                padding: 1rem 1.05rem 1.15rem !important;
            }
            .room-card .card-content h3 {
                font-size: 1.05rem;
                line-height: 1.3;
                min-height: 0; /* mobil: Titel darf schrumpfen, Button bleibt unten via flex */
            }
            .room-card .card-content p {
                font-size: 0.9rem;
                line-height: 1.45;
            }
            .room-card .room-detail-btn {
                width: 100%;
                text-align: center;
                box-sizing: border-box;
                align-self: stretch;
            }
        }
        .interactive-tag {
            display: inline-block;
            background: var(--purple-soft);
            padding: 0.5rem 1.2rem;
            border-radius: 40px;
            font-weight: 400;
            cursor: pointer;
            transition: 0.25s ease;
            margin-top: 1rem;
            color: var(--purple-primary);
        }
        .interactive-tag:hover {
            background: var(--purple-deep);
            color: white;
            transform: translateY(-2px);
        }

        /* ===== SHARED SOFT PANEL SYSTEM (wie Team-Section) ===== */
        .soft-panel {
            background: linear-gradient(160deg, #fff 0%, var(--purple-soft) 100%);
            border-radius: 2rem;
            overflow: hidden;
            color: var(--purple-deep);
            box-shadow: var(--shadow-xl);
            border: 1px solid rgba(75, 8, 77, 0.06);
        }
        .soft-panel-pad {
            padding: clamp(1.5rem, 3.5vw, 2.5rem);
        }
        .section-eyebrow {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.45rem;
            width: fit-content;
            max-width: 100%;
            margin: 0 auto 0.85rem;
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--purple-primary);
            text-align: center;
        }
        .soft-panel h2,
        .soft-panel h3 {
            color: var(--purple-deep);
            line-height: 1.2;
        }
        /* Sektions- und Kategorieüberschriften zentriert (unter Logo-Linie) */
        .soft-panel > h2,
        .soft-panel > h3,
        .split-feature > div:first-child > h2,
        .gutschein-info > h2,
        .trust-block > h2,
        .blog-list-header h2 {
            text-align: center;
        }
        .impressum-content h3 {
            margin: 1.75rem 0 0.65rem;
            font-size: 1.05rem;
            font-weight: 500;
            text-align: left; /* Rechtstexte lesbar links belassen */
        }
        .impressum-content h3:first-of-type {
            margin-top: 1rem;
        }
        .impressum-content p {
            margin: 0 0 0.85rem;
            line-height: 1.65;
        }
        .soft-panel p {
            color: #4a2c6a;
            line-height: 1.7;
        }
        .info-tile {
            background: #fff;
            border: 1px solid rgba(75, 8, 77, 0.08);
            border-radius: 1.15rem;
            padding: 1rem 1.15rem;
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            transition: transform 0.25s ease, box-shadow 0.25s ease;
            height: 100%;
            box-sizing: border-box;
        }
        .info-tile:hover {
            transform: translateY(-4px);
            box-shadow: 0 14px 30px -16px rgba(44, 27, 74, 0.35);
        }
        .info-tile i {
            color: var(--purple-primary);
            font-size: 1.15rem;
            margin-top: 0.15rem;
            flex-shrink: 0;
        }
        .info-tile strong {
            display: block;
            color: var(--purple-deep);
            font-size: 1rem;
            margin-bottom: 0.25rem;
        }
        .info-tile span,
        .info-tile p {
            margin: 0;
            color: #6b5a7a;
            font-size: 0.9rem;
            line-height: 1.5;
        }
        .info-tile.center {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }
        .info-tile.center i {
            margin-top: 0;
            font-size: 1.4rem;
            margin-bottom: 0.35rem;
        }
        .media-frame {
            border-radius: 1.5rem;
            overflow: hidden;
            background: var(--purple-primary);
            padding: 0.65rem;
            box-sizing: border-box;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .media-frame:hover {
            transform: translateY(-4px);
            box-shadow: 0 18px 36px -18px rgba(44, 27, 74, 0.4);
        }
        /* Ohne lila Rahmen (Home Willkommen / Auszeichnung) */
        .media-frame.media-frame--bare {
            background: transparent;
            padding: 0;
            box-shadow: none;
        }
        .media-frame.media-frame--bare:hover {
            box-shadow: 0 14px 28px -16px rgba(44, 27, 74, 0.28);
        }
        .media-frame img,
        .media-frame video {
            width: 100%;
            height: 100%;
            min-height: 260px;
            object-fit: cover;
            display: block;
            border-radius: 1.1rem;
        }
        .media-frame.media-frame--bare img,
        .media-frame.media-frame--bare video {
            border-radius: 1.25rem;
        }
        .split-feature {
            display: grid;
            grid-template-columns: 1.05fr 0.95fr;
            gap: 1.5rem;
            align-items: center;
        }
        /* Konferenz: größeres Bild + symmetrische 2×2 Highlights */
        .konferenz-feature {
            display: grid;
            grid-template-columns: 0.95fr 1.15fr;
            gap: 1.75rem;
            align-items: center;
        }
        .konferenz-media img {
            min-height: 360px;
            aspect-ratio: 4 / 3;
        }
        .konferenz-highlights {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.85rem;
            margin: 1.25rem 0 1rem;
        }
        .konferenz-highlights .info-tile {
            min-height: 5.25rem;
        }
        @media (max-width: 900px) {
            .konferenz-feature {
                grid-template-columns: 1fr;
            }
            .konferenz-media {
                order: -1;
            }
            .konferenz-media img {
                min-height: 240px;
            }
            .split-feature {
                grid-template-columns: 1fr;
            }
        }

        /* ===== TRUST STATIC (Google + Booking) mit Hover ===== */
        .trust-block {
            background: linear-gradient(160deg, #fff 0%, var(--purple-soft) 100%);
            border-radius: 2rem;
            margin: 0;
            width: 100%;
            box-shadow: var(--shadow-xl);
            box-sizing: border-box;
            border: 1px solid rgba(75, 8, 77, 0.06);
            padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 2.5rem) clamp(2rem, 4.5vw, 3rem);
        }
        .trust-static {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: clamp(1rem, 3vw, 2rem);
            padding: 0;
            margin: 0;
            width: 100%;
            box-sizing: border-box;
            background: transparent;
            border: none;
            box-shadow: none;
            border-radius: 0;
        }
        .trust-item {
            text-align: center;
            background: #fff;
            border-radius: 1.15rem;
            padding: 1.25rem 1rem;
            border: 1px solid rgba(75, 8, 77, 0.08);
            transition: transform 0.25s ease, box-shadow 0.25s ease;
        }
        .trust-item:hover {
            transform: translateY(-4px);
            box-shadow: 0 14px 30px -16px rgba(44, 27, 74, 0.35);
        }
        .trust-item img {
            height: 88px;
            width: auto;
            margin: 0 auto 0.85rem;
            display: block;
        }
        .trust-item p {
            color: var(--purple-deep);
            font-weight: 500;
            margin-bottom: 0.2rem;
        }
        .trust-item small {
            color: #6b5a7a;
        }
        @media (max-width: 768px) {
            .trust-static {
                grid-template-columns: 1fr;
            }
        }
        .trust-reviews {
            margin-top: 0;
            padding-top: 0;
            border-top: none;
        }
        .trust-static + .trust-reviews {
            margin-top: clamp(1.5rem, 3vw, 2.25rem);
            padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
            border-top: 1px solid rgba(75, 8, 77, 0.1);
        }
        .trust-reviews .section-eyebrow {
            margin-bottom: 1rem;
        }
        .review-card .review-head {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            text-align: left;
            margin-bottom: 0.85rem;
        }
        .review-card .review-avatar {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            object-fit: cover;
            flex-shrink: 0;
            background: var(--purple-soft);
        }
        .review-card .review-meta {
            flex: 1;
            min-width: 0;
        }
        .review-card .review-meta .review-author {
            margin: 0;
            text-align: left;
        }
        .review-card .review-verified {
            display: inline-flex;
            align-items: center;
            gap: 0.3rem;
            font-size: 0.7rem;
            color: #188038;
            font-weight: 400;
        }
        .review-card .google-badge {
            margin-left: 0;
            margin-right: 0;
        }
        .review-card {
            text-align: left;
        }

        /* ===== TRUST EXTENDED (Gäste-Liebling + Booking) ===== */
        .trust-extended {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            margin: 2rem 0;
        }
        .trust-extended .trust-card {
            border-radius: 2rem;
            padding: 2.5rem 2rem;
            box-shadow: var(--shadow-xl);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            text-align: center;
            cursor: default;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 280px;
        }
        .trust-extended .trust-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 30px 50px -12px rgba(0,0,0,0.25);
        }
        .trust-extended .trust-card .trust-icon {
            width: 250px;
            height: 180px;
            border-radius: 8px;
            overflow: hidden;
            margin-bottom: 1.2rem;
            flex-shrink: 0;
        }
        .trust-extended .trust-card .trust-icon img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .trust-extended .trust-card h3 {
            font-size: 1.8rem;
            font-weight: 500;
            margin-bottom: 0.3rem;
        }
        .trust-extended .trust-card p {
            font-size: 1rem;
            opacity: 0.9;
            max-width: 300px;
            margin: 0 auto;
        }
        .trust-extended .trust-card .stars {
            font-size: 1.5rem;
            letter-spacing: 3px;
            margin-bottom: 0.5rem;
        }
        .trust-extended .trust-card.guest-love {
            background: #fff;
            color: var(--purple-deep);
        }
        .trust-extended .trust-card.guest-love .stars {
            color: #FBBC05;
        }
        .trust-extended .trust-card.booking-award {
            background: var(--booking-blue);
            color: #ffffff;
        }
        .trust-extended .trust-card.booking-award .stars {
            color: #FBBC05;
        }
        @media (max-width: 768px) {
            .trust-extended {
                grid-template-columns: 1fr;
            }
            .trust-extended .trust-card {
                min-height: 200px;
                padding: 2rem 1.5rem;
            }
            .trust-extended .trust-card .trust-icon {
                width: 80px;
                height: 80px;
            }
            .trust-extended .trust-card h3 {
                font-size: 1.4rem;
            }
        }

        /* ===== BLOG SLIDER ===== */
        .blog-coverflow {
            margin: 0;
            padding: clamp(1.5rem, 3.5vw, 2.5rem);
            background: linear-gradient(160deg, #fff 0%, var(--purple-soft) 100%);
            border-radius: 2rem;
            box-shadow: var(--shadow-xl);
            border: 1px solid rgba(75, 8, 77, 0.06);
            overflow: hidden;
        }
        .blog-coverflow .blog-title {
            text-align: left;
            color: var(--purple-deep);
            margin-bottom: 1.5rem;
            padding: 0;
        }
        .blog-coverflow .blogSwiper {
            padding: 0.5rem 0.25rem 2.75rem;
            overflow: hidden;
        }
        .blog-coverflow .swiper-slide {
            background: white;
            border-radius: 1.25rem;
            padding: 1.15rem;
            height: auto;
            min-height: 420px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            color: var(--purple-deep);
            border: 1px solid rgba(75, 8, 77, 0.1);
            cursor: pointer;
            box-sizing: border-box;
            transition: box-shadow 0.35s ease, border-color 0.35s ease, opacity 0.35s ease;
        }
        .blog-coverflow .swiper-slide:focus-visible {
            outline: 2px solid var(--purple-primary);
            outline-offset: 3px;
        }
        .blog-coverflow .swiper-slide:hover {
            box-shadow: 0 14px 30px -16px rgba(44, 27, 74, 0.35);
        }
        .blog-coverflow .swiper-slide .blog-image {
            width: 100%;
            aspect-ratio: 1 / 1;
            height: auto;
            min-height: 220px;
            object-fit: cover;
            border-radius: 1rem;
            margin-bottom: 0.9rem;
            background: #f5f5f5;
        }
        .blog-coverflow .swiper-slide-active {
            background: #fff;
            border-color: var(--purple-primary);
            box-shadow: 0 16px 36px -18px rgba(44, 27, 74, 0.35);
        }
        .blog-coverflow .swiper-slide h3 {
            font-size: 1.15rem;
            margin-bottom: 0.3rem;
            color: var(--purple-deep);
        }
        .blog-coverflow .swiper-slide .blog-date {
            font-size: 0.75rem;
            color: #888;
            margin-bottom: 0.5rem;
        }
        .blog-coverflow .swiper-slide p {
            font-size: 0.9rem;
            line-height: 1.45;
            color: #444;
            flex-grow: 1;
        }
        .blog-coverflow .swiper-slide .blog-tag {
            display: inline-block;
            background: var(--purple-soft);
            color: var(--purple-primary);
            padding: 0.2rem 0.8rem;
            border-radius: 30px;
            font-size: 0.7rem;
            font-weight: 400;
            align-self: flex-start;
            margin-top: 0.5rem;
        }
        .blog-coverflow .swiper-button-next,
        .blog-coverflow .swiper-button-prev {
            color: var(--purple-deep);
            background: rgba(255,255,255,0.92);
            width: 40px;
            height: 40px;
            border-radius: 50%;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        .blog-coverflow .swiper-button-next:after,
        .blog-coverflow .swiper-button-prev:after {
            font-size: 1.2rem;
        }
        .blog-coverflow .swiper-pagination-bullet-active {
            background: var(--purple-deep);
        }
        @media (max-width: 768px) {
            .blog-coverflow .swiper-slide {
                min-height: 280px;
            }
            .blog-coverflow .swiper-slide .blog-image {
                min-height: 180px;
            }
        }

        /* ===== BLOG GRID VARIANTE 2 (Kundenvorschau) ===== */
        .blog-grid-variant {
            margin: 0;
            padding: clamp(1.5rem, 3.5vw, 2.5rem);
            background: linear-gradient(160deg, #fff 0%, var(--purple-soft) 100%);
            border-radius: 2rem;
            box-shadow: var(--shadow-xl);
            border: 1px solid rgba(75, 8, 77, 0.06);
        }
        .blog-grid-variant .blog-title {
            text-align: center;
            color: var(--purple-deep);
            margin-bottom: 1.15rem;
        }
        .blog-grid-variant .blog-variant-note {
            font-size: 0.85rem;
            color: #6b5a7a;
            margin: 0 0 1.35rem;
        }
        .blog-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1rem;
        }
        .blog-grid-card {
            display: flex;
            flex-direction: column;
            background: #fff;
            border: 1px solid rgba(75, 8, 77, 0.1);
            border-radius: 1.1rem;
            overflow: hidden;
            cursor: pointer;
            text-align: left;
            color: var(--purple-deep);
            transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
        }
        .blog-grid-card:hover {
            box-shadow: 0 14px 28px -16px rgba(44, 27, 74, 0.35);
            border-color: var(--purple-primary);
            transform: translateY(-2px);
        }
        .blog-grid-card:focus-visible {
            outline: 2px solid var(--purple-primary);
            outline-offset: 3px;
        }
        .blog-grid-card img {
            width: 100%;
            aspect-ratio: 1 / 1;
            object-fit: cover;
            display: block;
            background: #f5f5f5;
        }
        .blog-grid-card .blog-grid-body {
            padding: 0.85rem 1rem 1rem;
        }
        .blog-grid-card h3 {
            font-size: 1.05rem;
            margin: 0 0 0.25rem;
            line-height: 1.3;
            color: var(--purple-deep);
        }
        .blog-grid-card .blog-date {
            font-size: 0.72rem;
            color: #888;
            margin: 0;
        }
        @media (max-width: 640px) {
            .blog-grid {
                grid-template-columns: 1fr;
            }
        }

        .blog-article {
            max-width: 820px;
            margin: 0 auto;
        }
        .blog-article-hero {
            width: 100%;
            aspect-ratio: 16 / 9;
            object-fit: cover;
            border-radius: 1.25rem;
            margin: 0 0 1.5rem;
            display: block;
        }
        .blog-article-meta {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.75rem 1.25rem;
            margin: 0 0 1.25rem;
            color: #6b5a7a;
            font-size: 0.95rem;
        }
        .blog-article-body {
            color: #4a2c6a;
            line-height: 1.75;
            font-size: 1.05rem;
        }
        .blog-article-body p {
            margin: 0 0 1.15rem;
        }
        .blog-back-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            margin-bottom: 1.25rem;
            background: transparent;
            border: none;
            color: var(--purple-primary);
            font-weight: 400;
            cursor: pointer;
            padding: 0;
            font-size: 0.95rem;
            font-family: inherit;
        }
        .blog-back-btn:hover {
            color: var(--purple-deep);
        }

        /* ===== GALLERY PAGE ===== */
        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 1rem;
            margin-top: 2rem;
        }
        .gallery-grid img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border-radius: 1rem;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            cursor: pointer;
        }
        .gallery-grid img:hover {
            transform: scale(1.03);
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
        }

        /* ===== MODAL ===== */
        .modal {
            display: none;
            position: fixed;
            inset: 0;
            width: 100%;
            height: 100%;
            height: 100dvh;
            background: rgba(0,0,0,0.88);
            z-index: 1200; /* über Navbar (200) und Burger (210) */
            justify-content: center;
            align-items: center;
            padding: max(0.75rem, env(safe-area-inset-top, 0px)) 0.75rem max(0.75rem, env(safe-area-inset-bottom, 0px));
            box-sizing: border-box;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
        }
        .modal-content {
            position: relative;
            background: white;
            max-width: 1280px;
            width: min(98%, 1280px);
            border-radius: 1.5rem;
            max-height: min(98vh, 1400px);
            max-height: min(98dvh, 1400px);
            min-height: 0;
            overflow-x: hidden;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
            padding: 1.15rem 1.25rem 1.15rem;
            display: flex;
            flex-direction: column;
            box-sizing: border-box;
        }
        .close-modal {
            position: sticky;
            top: 0.15rem;
            align-self: flex-end;
            z-index: 50;
            width: 44px;
            height: 44px;
            margin: 0 0 -44px auto;
            border: none;
            border-radius: 50%;
            background: rgba(75, 8, 77, 0.96);
            color: #fff;
            font-size: 1.55rem;
            line-height: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: 0.2s;
            box-shadow: 0 8px 20px rgba(44, 27, 74, 0.35);
            -webkit-tap-highlight-color: transparent;
            touch-action: manipulation;
            flex-shrink: 0;
        }
        .close-modal:hover,
        .close-modal:focus-visible {
            background: var(--purple-primary);
            color: #fff;
            transform: scale(1.05);
            outline: none;
        }
        .modal-gallery {
            position: relative;
            width: 100%;
            flex: 1 1 auto;
            min-height: 0;
            border-radius: 1.2rem;
            overflow: hidden;
            margin: 0.35rem 0 0.75rem;
        }
        .modal-gallery .swiper {
            width: 100%;
            height: 100%;
            border-radius: 1rem;
        }
        .modal-gallery .swiper-slide {
            display: flex;
            align-items: center;
            justify-content: center;
            background: #f3eef8;
            height: auto;
        }
        .modal-gallery .swiper-slide img {
            width: 100%;
            height: min(62vh, 680px);
            max-height: min(62vh, 680px);
            object-fit: contain;
            object-position: center;
            border-radius: 1rem;
            display: block;
            background: #f3eef8;
        }
        .modal-gallery .swiper-pagination {
            bottom: 4.5rem !important; /* über dem fixen Buchen-Button */
        }
        .modal-gallery-book {
            position: absolute;
            left: 50%;
            bottom: 1.1rem;
            transform: translateX(-50%);
            z-index: 25;
            pointer-events: none;
        }
        .modal-gallery-book .book-btn,
        .modal-gallery-book a.book-btn {
            pointer-events: auto;
            box-shadow: 0 14px 32px -10px rgba(44, 27, 74, 0.55);
            white-space: nowrap;
        }
        .modal-room-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 0.75rem;
            margin: 0.15rem 2.75rem 0.35rem 0;
            flex-wrap: wrap;
            flex-shrink: 0;
        }
        .modal-room-header h2 {
            margin: 0;
            font-size: clamp(1.15rem, 2.2vw, 1.55rem);
            line-height: 1.25;
            flex: 1;
            min-width: 0;
            padding-right: 0.25rem;
        }
        .modal-room-meta {
            display: flex;
            gap: 0.85rem;
            flex-wrap: wrap;
            font-size: 0.9rem;
            color: var(--gray-lavender);
        }
        .room-features-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: 0.65rem;
            margin: 0;
            width: 100%;
            flex-shrink: 0;
            color: #6d3bc6;
        }
        .feature-badge {
            background: var(--purple-soft);
            padding: 0.55rem 0.75rem;
            border-radius: 40px;
            font-size: 0.82rem;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            justify-content: center;
            width: 100%;
            box-sizing: border-box;
        }
        .feature-badge i {
            color: var(--purple-primary);
            font-size: 0.95rem;
        }
        .room-detail-text {
            display: block;
            flex-shrink: 0;
            line-height: 1.45;
            margin: 0.65rem 0 0;
            padding: 0.65rem 0.85rem;
            background: #f9f6ff;
            color: #6d3bc6;
            border-radius: 1rem;
            font-size: 0.92rem;
            max-height: 5.6em;
            overflow: hidden;
        }
        .modal-book-row {
            display: none; /* Button liegt als Overlay auf dem Bild */
        }
        @media (max-width: 768px) {
            .modal {
                align-items: stretch;
                justify-content: flex-end;
                padding:
                    env(safe-area-inset-top, 0px)
                    0
                    env(safe-area-inset-bottom, 0px);
            }
            .modal-content {
                width: 100%;
                max-width: none;
                height: auto;
                max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
                min-height: 0;
                border-radius: 1.15rem 1.15rem 0 0;
                padding: 0.65rem 0.85rem calc(0.85rem + env(safe-area-inset-bottom, 0px));
                margin: 0;
            }
            .close-modal {
                position: sticky;
                top: 0.15rem;
                width: 48px;
                height: 48px;
                font-size: 1.7rem;
                margin: 0 0 -48px auto;
                box-shadow: 0 10px 24px rgba(44, 27, 74, 0.45);
            }
            .modal-room-header {
                padding-right: 3.25rem;
                margin-top: 0.15rem;
                margin-right: 0;
            }
            .modal-gallery {
                flex: 0 0 auto;
            }
            .modal-gallery .swiper-slide img {
                height: min(42dvh, 360px);
                max-height: min(42dvh, 360px);
                object-fit: contain;
                border-radius: 0.85rem;
            }
            .modal-gallery .swiper-pagination {
                bottom: 4.1rem !important;
            }
            .room-detail-text {
                font-size: 0.85rem;
                max-height: none;
                padding: 0.55rem 0.7rem;
            }
            .modal-gallery-book {
                bottom: 0.85rem;
                width: calc(100% - 1.5rem);
                display: flex;
                justify-content: center;
            }
            .modal-gallery-book .book-btn {
                width: min(100%, 280px);
                justify-content: center;
            }
            .room-features-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.5rem;
            }
            .feature-badge {
                font-size: 0.74rem;
                padding: 0.45rem 0.5rem;
                border-radius: 0.85rem;
            }
            .modal-close-bar {
                display: flex;
            }
        }
        .modal-close-bar {
            display: none;
            justify-content: center;
            margin-top: 0.85rem;
            flex-shrink: 0;
        }
        .modal-close-bar .modal-close-text {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.4rem;
            min-height: 48px;
            padding: 0.65rem 1.4rem;
            border-radius: 999px;
            border: 2px solid var(--purple-primary);
            background: #fff;
            color: var(--purple-primary);
            font-family: inherit;
            font-size: 1rem;
            font-weight: 500;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            touch-action: manipulation;
        }
        @media (max-width: 768px) {
            .modal-close-bar { display: flex; }
        }

        /* ===== LIGHTBOX ===== */
        .lightbox-modal {
            display: none;
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: rgba(0,0,0,0.9);
            z-index: 1200;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }
        .lightbox-modal.open {
            display: flex;
        }
        .lightbox-modal .lightbox-content {
            position: relative;
            max-width: 90%;
            max-height: 90vh;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .lightbox-modal .lightbox-content img {
            max-width: 100%;
            max-height: 85vh;
            object-fit: contain;
            border-radius: 0.5rem;
            box-shadow: 0 0 30px rgba(0,0,0,0.5);
        }
        .lightbox-modal .lightbox-close {
            position: absolute;
            top: -40px;
            right: 0;
            font-size: 2.5rem;
            color: white;
            cursor: pointer;
            transition: 0.2s;
            background: rgba(0,0,0,0.3);
            padding: 0.2rem 1rem;
            border-radius: 40px;
            border: none;
            line-height: 1;
            font-family: inherit;
        }
        .lightbox-modal .lightbox-close:hover {
            background: var(--purple-primary);
        }
        .lightbox-modal .lightbox-nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            font-size: 3rem;
            color: white;
            cursor: pointer;
            padding: 0.5rem 1rem;
            background: rgba(0,0,0,0.4);
            border-radius: 50%;
            transition: 0.2s;
            user-select: none;
            border: none;
            line-height: 1;
            font-family: inherit;
        }
        .lightbox-modal .lightbox-nav:hover {
            background: var(--purple-primary);
        }
        .lightbox-modal .lightbox-prev { left: -70px; }
        .lightbox-modal .lightbox-next { right: -70px; }
        .lightbox-modal .lightbox-counter {
            position: absolute;
            bottom: -50px;
            left: 50%;
            transform: translateX(-50%);
            color: rgba(255,255,255,0.7);
            font-size: 1rem;
            background: rgba(0,0,0,0.3);
            padding: 0.3rem 1rem;
            border-radius: 30px;
        }
        @media (max-width: 768px) {
            .lightbox-modal .lightbox-prev { left: 0; }
            .lightbox-modal .lightbox-next { right: 0; }
            .lightbox-modal .lightbox-nav { font-size: 2rem; padding: 0.2rem 0.6rem; }
            .lightbox-modal .lightbox-close { top: 10px; right: 10px; font-size: 1.8rem; padding: 0 0.5rem; }
        }

        /* ===== CONSULT POPUP ===== */
        .consult-popup {
            display: none;
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: white;
            color: var(--purple-deep);
            padding: 2.5rem;
            border-radius: 2rem;
            max-width: 500px;
            width: 90%;
            box-shadow: 0 30px 60px rgba(0,0,0,0.3);
            z-index: 1100;
            text-align: center;
        }
        .consult-popup.open {
            display: block;
        }
        .consult-popup h3 {
            margin-bottom: 1rem;
            color: var(--purple-primary);
        }
        .consult-popup p {
            margin-bottom: 1rem;
            line-height: 1.6;
        }
        .consult-popup .close-consult {
            margin-top: 1rem;
            background: var(--purple-primary);
            color: white;
            border: none;
            padding: 0.6rem 2rem;
            border-radius: 50px;
            font-weight: 400;
            cursor: pointer;
            transition: 0.2s;
        }
        .consult-popup .close-consult:hover {
            background: var(--purple-deep);
        }
        .consult-overlay {
            display: none;
            position: fixed;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: rgba(0,0,0,0.6);
            z-index: 1099;
        }
        .consult-overlay.open {
            display: block;
        }

        /* ===== WELLNESS PAGE ===== */
        .wellness-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
            width: 100%;
        }
        .wellness-card {
            background: white;
            border-radius: 1.5rem;
            overflow: hidden;
            box-shadow: var(--shadow-xl);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            color: var(--purple-deep);
            text-align: center;
            padding-bottom: 1.5rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            border: 1px solid rgba(75, 8, 77, 0.06);
        }
        .wellness-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 22px 44px -18px rgba(44, 27, 74, 0.35);
        }
        .wellness-card img {
            width: 100%;
            height: 220px;
            object-fit: cover;
            transition: transform 0.55s ease;
        }
        .wellness-card:hover img {
            transform: scale(1.04);
        }
        .wellness-card h3 {
            margin: 1rem 0 0.5rem;
            padding: 0 0.5rem;
        }
        .wellness-card p {
            padding: 0 1rem;
            font-size: 0.95rem;
            color: #555;
            line-height: 1.5;
        }
        .wellness-card .price-tag {
            display: inline-block;
            background: var(--purple-soft);
            color: var(--purple-primary);
            padding: 0.3rem 1.2rem;
            border-radius: 40px;
            font-weight: 500;
            margin: 0.8rem auto 0;
            text-align: center;
        }
        .wellness-card .wellness-btn {
            background: var(--purple-primary);
            color: white;
            border: none;
            padding: 0.5rem 1.8rem;
            border-radius: 40px;
            font-weight: 400;
            cursor: pointer;
            transition: 0.2s;
            margin-top: 0.5rem;
        }
        .wellness-card .wellness-btn:hover {
            background: var(--purple-deep);
        }

        /* ===== WELLNESS GROSSE CARDS (Sauna & Schwimmbad) ===== */
        .wellness-grid-large {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            justify-content: stretch;
            gap: 2.5rem;
            width: 100%;
            max-width: none;
            margin-left: 0;
            margin-right: 0;
        }
        .wellness-card-large img {
            height: 320px;
        }
        .wellness-card-large h3 {
            font-size: 1.7rem;
            margin: 1.3rem 0 0.6rem;
        }
        .wellness-card-large p {
            font-size: 1.05rem;
        }
        .wellness-card-large .price-tag {
            font-size: 1.05rem;
            padding: 0.4rem 1.5rem;
        }
        @media (max-width: 900px) {
            .wellness-grid-large {
                grid-template-columns: 1fr;
                gap: 1.8rem;
            }
            .wellness-card-large img {
                height: 260px;
            }
        }
        @media (max-width: 600px) {
            .wellness-card-large img {
                height: 220px;
            }
            .wellness-card-large h3 {
                font-size: 1.4rem;
            }
        }

        /* ===== EVENT PAGES ===== */
        .event-card {
            background: white;
            border-radius: 1.5rem;
            overflow: hidden;
            box-shadow: var(--shadow-xl);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            color: var(--purple-deep);
            text-align: center;
            padding-bottom: 1.5rem;
            border: 1px solid rgba(75, 8, 77, 0.06);
        }
        .event-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 22px 44px -18px rgba(44, 27, 74, 0.35);
        }
        .event-card img {
            width: 100%;
            height: 220px;
            object-fit: cover;
            transition: transform 0.55s ease;
        }
        .event-card:hover img {
            transform: scale(1.04);
        }
        .event-card h3 {
            margin: 1rem 0 0.5rem;
            padding: 0 0.5rem;
        }
        .event-card p {
            padding: 0 1.5rem;
            font-size: 0.95rem;
            color: #555;
            line-height: 1.5;
        }
        .event-card .price-tag {
            display: inline-block;
            background: var(--purple-soft);
            color: var(--purple-primary);
            padding: 0.3rem 1.2rem;
            border-radius: 40px;
            font-weight: 500;
            margin: 0.8rem 0;
        }
        .event-card .event-btn {
            background: var(--purple-primary);
            color: white;
            border: none;
            padding: 0.5rem 1.8rem;
            border-radius: 40px;
            font-weight: 400;
            cursor: pointer;
            transition: 0.2s;
            margin-top: 0.5rem;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
        }
        .event-card .event-btn:hover {
            background: var(--purple-deep);
            transform: translateY(-2px);
        }
        .event-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            justify-content: stretch;
            gap: 2rem;
            margin-top: 2rem;
            width: 100%;
        }
        .arrangement-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 1.5rem;
            margin-top: 1.5rem;
            width: 100%;
        }
        .arrangement-grid .event-card {
            width: 100%;
            max-width: none;
            text-align: left;
            align-items: stretch;
        }
        .arrangement-grid .event-card img {
            height: auto;
            aspect-ratio: 1 / 1;
            object-fit: cover;
        }
        .arrangement-grid .event-card h3,
        .arrangement-grid .event-card p {
            padding-left: 1.25rem;
            padding-right: 1.25rem;
        }
        .arrangement-grid .event-card .price-tag,
        .arrangement-grid .event-card .event-btn {
            margin-left: 1.25rem;
            margin-right: 1.25rem;
        }
        .arrangement-grid .event-card .event-btn {
            align-self: flex-start;
        }
        @media (max-width: 768px) {
            .arrangement-grid {
                grid-template-columns: 1fr;
            }
        }
        #kaffeeklatsch-page .kaffee-hero-strip {
            display: grid;
            grid-template-columns: 1.15fr 0.85fr;
            gap: 1.25rem;
            margin-bottom: 1.5rem;
        }
        #kaffeeklatsch-page .kaffee-hero-strip .media-frame {
            min-height: 280px;
        }
        #kaffeeklatsch-page .kaffee-hero-strip .media-frame img {
            width: 100%;
            height: 100%;
            min-height: 280px;
            object-fit: cover;
            display: block;
        }
        #kaffeeklatsch-page .event-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            max-width: none;
            margin-left: 0;
            margin-right: 0;
            justify-items: stretch;
        }
        #kaffeeklatsch-page .event-card {
            width: 100%;
            max-width: none;
            display: flex;
            flex-direction: column;
            align-items: stretch;
            text-align: left;
        }
        #kaffeeklatsch-page .event-card img {
            height: auto;
            aspect-ratio: 16 / 10;
            object-fit: cover;
        }
        #kaffeeklatsch-page .event-card h3,
        #kaffeeklatsch-page .event-card p {
            padding-left: 1.25rem;
            padding-right: 1.25rem;
        }
        #kaffeeklatsch-page .event-card .price-tag,
        #kaffeeklatsch-page .event-card .event-btn {
            margin-left: 1.25rem;
            align-self: flex-start;
        }
        @media (max-width: 900px) {
            #kaffeeklatsch-page .kaffee-hero-strip {
                grid-template-columns: 1fr;
            }
            #kaffeeklatsch-page .event-grid {
                grid-template-columns: 1fr;
            }
        }
        #kaffeeklatsch-page .event-card img {
            width: 100%;
        }
        @media (max-width: 900px) {
            .event-grid {
                grid-template-columns: 1fr;
            }
        }

        /* ===== FOOTER ===== */
        .footer {
            position: relative;
            background: transparent;
            color: #b8a9e0;
            padding: 4.5rem 0 1.5rem;
            margin-top: 1rem;
            border-top: none;
        }
        .footer::before {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            height: 120px;
            pointer-events: none;
            background: linear-gradient(
                to bottom,
                rgba(75, 8, 77, 0) 0%,
                rgba(55, 6, 58, 0.55) 55%,
                rgba(48, 5, 50, 0.88) 100%
            );
        }
        .footer::after {
            content: '';
            position: absolute;
            inset: 70px 0 0 0;
            background: linear-gradient(
                to bottom,
                rgba(48, 5, 50, 0.88) 0%,
                rgba(40, 4, 42, 0.94) 100%
            );
            pointer-events: none;
            z-index: 0;
        }
        .footer > * {
            position: relative;
            z-index: 1;
        }
        .footer-inner {
    max-width: var(--content-max);
    width: 100%;
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
    text-align: center;
    box-sizing: border-box;
}

.footer-logo {
    flex: 0 0 auto;
    order: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-logo img {
    height: 150px;
    width: auto;
    image-rendering: -webkit-optimize-contrast;
}

.footer-links-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
    min-width: 160px;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.footer-links-nav.footer-links-left {
    order: 1;
    text-align: left;
    align-items: flex-start;
}

.footer-links-nav.footer-links-right {
    order: 3;
    text-align: right;
    align-items: flex-end;
}

.footer-links-heading {
    font-weight: 500;
    font-size: 1.1rem;
    color: #fff;
    margin-bottom: 0.3rem;
}

.footer-links-nav li a {
    font-weight: 500;
    transition: 0.2s;
}

.footer-links-nav li a:hover {
    color: #fff;
}

/* Mobile */
@media (max-width: 768px) {
    .footer-inner {
        flex-direction: column;
        gap: 2rem;
    }

    .footer-logo {
        order: -1;
    }

    .footer-logo img {
        height: 110px;
    }

    .footer-links-nav.footer-links-left,
    .footer-links-nav.footer-links-right {
        text-align: center;
        align-items: center;
    }
}
        .footer a {
            color: #cdc0f0;
            text-decoration: none;
        }
        .footer-logo svg {
            height: 60px;
            width: auto;
            filter: brightness(0) invert(1);
        }
        iframe {
            width: 100%;
            border-radius: 1.5rem;
            margin-top: 1rem;
            border: none;
        }

        .page { display: block; animation: fade 0.4s; }
        .active-page { display: block; }
        .page > .page-header-slider + .section-container,
        .page > .hero-slider + .section-container {
            padding-top: clamp(1.25rem, 3vw, 2.25rem);
        }
        @keyframes fade { from { opacity: 0; } to { opacity: 1; } }

        .toast-msg {
            position: fixed; bottom: 30px; right: 30px;
            background: var(--purple-deep); color: white;
            padding: 0.6rem 1.5rem; border-radius: 40px;
            opacity: 0; transition: 0.2s; z-index: 1100;
        }
        .contact-card {
            background: #fff;
            border-radius: 1.15rem;
            padding: 1.35rem 1.2rem;
            text-align: center;
            transition: transform 0.25s ease, box-shadow 0.25s ease;
            border: 1px solid rgba(75, 8, 77, 0.08);
            height: 100%;
            box-sizing: border-box;
        }
        .contact-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 14px 30px -16px rgba(44, 27, 74, 0.35);
        }
        .contact-card i {
            font-size: 1.6rem;
            color: var(--purple-primary);
            margin-bottom: 0.55rem;
        }
        .contact-card h4 {
            color: var(--purple-deep);
            font-size: 1rem;
            margin-bottom: 0.25rem;
        }
        .contact-card p {
            color: #6b5a7a;
            font-size: 0.88rem;
            margin: 0;
        }
        .social-icons a {
            color: var(--purple-deep);
            font-size: 1.8rem;
            margin: 0 0.5rem;
            transition: 0.2s;
        }
        .social-icons a:hover { color: #fff; }

        /* ===== TEAM / KARRIERE ===== */
        .team-section {
            margin-top: 3.5rem;
            background: linear-gradient(160deg, #fff 0%, var(--purple-soft) 100%);
            border-radius: 2rem;
            overflow: hidden;
            color: var(--purple-deep);
            box-shadow: var(--shadow-xl);
        }
        .team-section-inner {
            display: block;
        }
        .team-copy {
            padding: clamp(1.75rem, 4vw, 2.75rem);
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .team-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
            font-size: 0.75rem;
            font-weight: 500;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--purple-primary);
            margin-bottom: 0.85rem;
        }
        .team-copy h2 {
            color: var(--purple-deep);
            margin-bottom: 0.85rem;
            line-height: 1.15;
        }
        .team-copy > p {
            color: #4a2c6a;
            line-height: 1.7;
            margin-bottom: 1.25rem;
        }
        .team-jobs {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.75rem;
            margin-bottom: 1.5rem;
        }
        .team-job {
            background: #fff;
            border: 1px solid rgba(75, 8, 77, 0.08);
            border-radius: 1rem;
            padding: 0.85rem 1rem;
            display: flex;
            align-items: flex-start;
            gap: 0.7rem;
            transition: transform 0.25s ease, box-shadow 0.25s ease;
        }
        .team-job:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 28px -16px rgba(44, 27, 74, 0.35);
        }
        .team-job i {
            color: var(--purple-primary);
            margin-top: 0.15rem;
            flex-shrink: 0;
        }
        .team-job strong {
            display: block;
            font-size: 0.95rem;
            color: var(--purple-deep);
        }
        .team-job span {
            display: block;
            font-size: 0.8rem;
            color: #6b5a7a;
            margin-top: 0.15rem;
        }
        .team-actions {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.85rem;
        }
        .team-actions .interactive-tag {
            margin-top: 0;
        }
        .team-mail {
            font-size: 0.95rem;
            color: var(--purple-primary);
            text-decoration: none;
            font-weight: 400;
        }
        .team-mail:hover {
            color: var(--purple-deep);
        }
        .team-perks {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.75rem;
            padding: 0 clamp(1.75rem, 4vw, 2.75rem) clamp(1.75rem, 4vw, 2.75rem);
            background: transparent;
        }
        .team-perk {
            background: rgba(255, 255, 255, 0.72);
            border-radius: 1.15rem;
            padding: 1rem 1.05rem;
            text-align: center;
            border: 1px solid rgba(75, 8, 77, 0.06);
            transition: transform 0.25s ease, box-shadow 0.25s ease;
        }
        .team-perk:hover {
            transform: translateY(-4px);
            box-shadow: 0 14px 30px -16px rgba(44, 27, 74, 0.35);
            background: #fff;
        }
        .team-perk i {
            color: var(--purple-primary);
            font-size: 1.25rem;
            margin-bottom: 0.45rem;
        }
        .team-perk strong {
            display: block;
            font-size: 0.92rem;
            color: var(--purple-deep);
            margin-bottom: 0.25rem;
        }
        .team-perk span {
            display: block;
            font-size: 0.8rem;
            color: #6b5a7a;
            line-height: 1.45;
        }
        @media (max-width: 900px) {
            .team-perks {
                grid-template-columns: 1fr 1fr;
            }
        }
        @media (max-width: 600px) {
            .team-jobs {
                grid-template-columns: 1fr;
            }
            .team-perks {
                grid-template-columns: 1fr;
            }
        }

        .feature-icon {
            font-size: 2rem;
            color: var(--purple-primary);
            margin-bottom: 0.5rem;
        }
        .review-card {
            background: white;
            border-radius: 1.5rem;
            padding: 1.8rem;
            text-align: center;
            box-shadow: var(--shadow-xl);
            height: auto;
            min-height: 280px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            margin: 0.5rem;
            transition: transform 0.3s ease;
        }
        .review-card:hover {
            transform: translateY(-5px);
        }
        .review-stars {
            color: #FBBC05;
            font-size: 1.2rem;
            letter-spacing: 2px;
            margin-bottom: 1rem;
        }
        .review-text {
            font-size: 1rem;
            line-height: 1.5;
            color: #333;
            margin-bottom: 1rem;
            flex-grow: 1;
        }
        .review-author {
            font-weight: 500;
            color: var(--purple-primary);
            margin-bottom: 0.25rem;
        }
        .review-date {
            font-size: 0.75rem;
            color: #888;
        }
        .google-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            background: #f1f3f4;
            padding: 0.3rem 0.8rem;
            border-radius: 30px;
            font-size: 0.7rem;
            margin-bottom: 1rem;
            width: fit-content;
            margin-left: auto;
            margin-right: auto;
        }
        .google-badge i {
            color: #4285F4;
        }
        .reviewSwiper {
            padding-bottom: 2.5rem !important;
        }
        .reviewSwiper .swiper-pagination-bullet-active {
            background: var(--purple-primary);
        }
        .reviewSwiper .swiper-button-next:after,
        .reviewSwiper .swiper-button-prev:after {
            font-size: 1.5rem;
        }
        @media (max-width: 768px) {
            .reviewSwiper .swiper-button-next,
            .reviewSwiper .swiper-button-prev {
                display: none;
            }
            .review-card {
                min-height: 300px;
            }
        }
        .gutschein-box {
            background: linear-gradient(160deg, #fff 0%, var(--purple-soft) 100%);
            border-radius: 2rem;
            padding: clamp(1.5rem, 3.5vw, 2.5rem);
            box-shadow: var(--shadow-xl);
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            align-items: center;
            justify-content: space-between;
            border: 1px solid rgba(75, 8, 77, 0.06);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .gutschein-box:hover {
            transform: translateY(-4px);
            box-shadow: 0 22px 44px -18px rgba(44, 27, 74, 0.3);
        }
        .gutschein-img {
            flex: 0 0 auto;
            width: min(260px, 46vw);
            text-align: center;
            perspective: 900px;
        }
        .gutschein-card-3d {
            width: 100%;
            aspect-ratio: 1 / 1;
            transform: rotateY(-12deg) rotateX(6deg) rotateZ(-2deg);
            transform-style: preserve-3d;
            transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
            filter: drop-shadow(18px 22px 28px rgba(44, 27, 74, 0.35));
        }
        .gutschein-box:hover .gutschein-card-3d {
            transform: rotateY(-6deg) rotateX(3deg) rotateZ(-1deg) translateY(-4px);
        }
        .gutschein-card-3d img,
        .gutschein-img img {
            width: 100%;
            height: 100%;
            aspect-ratio: 1 / 1;
            object-fit: cover;
            border-radius: 1.35rem;
            display: block;
        }
        .gutschein-info {
            flex: 2;
            color: var(--purple-deep);
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .gutschein-info h2 {
            color: var(--purple-deep);
            text-align: center;
        }
        .gutschein-info p,
        .gutschein-info strong {
            color: #4a2c6a;
            text-align: center;
            max-width: 36rem;
        }
        .gutschein-info .section-eyebrow {
            color: var(--purple-primary);
        }
        .gutschein-info .book-btn {
            margin-left: auto;
            margin-right: auto;
        }
        .fact-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
            gap: 0.85rem;
            margin-top: 1.5rem;
        }
        .fact-item {
            background: #fff;
            padding: 1rem 1.15rem;
            border-radius: 1.15rem;
            display: flex;
            align-items: center;
            gap: 0.85rem;
            border: 1px solid rgba(75, 8, 77, 0.08);
            box-shadow: none;
            transition: transform 0.25s ease, box-shadow 0.25s ease;
        }
        .fact-item:hover {
            transform: translateY(-4px);
            box-shadow: 0 14px 30px -16px rgba(44, 27, 74, 0.35);
        }
        .fact-item i {
            font-size: 1.45rem;
            color: var(--purple-primary);
            flex-shrink: 0;
        }
        .fact-item span {
            color: #4a2c6a;
            font-size: 0.92rem;
            line-height: 1.45;
        }

        /* zwei buttons nebeneinander */
        .action-row {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            justify-content: center;
            margin-top: 1rem;
        }
        .action-row .interactive-tag {
            margin-top: 0;
            flex: 0 1 auto;
            min-width: 180px;
            text-align: center;
        }
    


.nav-left a.nav-page-link,
.nav-right a.nav-page-link,
.dropdown-content a.nav-page-link,
.mobile-menu a.nav-page-link,
.mobile-submenu a.nav-page-link {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}
.dropdown-content a.nav-page-link { display: flex; width: 100%; }
.page { display: block !important; }
