/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  src: url('fonts/montserrat-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 400;
  src: url('fonts/montserrat-v31-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: url('fonts/montserrat-v31-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 500;
  src: url('fonts/montserrat-v31-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: url('fonts/montserrat-v31-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 600;
  src: url('fonts/montserrat-v31-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url('fonts/montserrat-v31-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 700;
  src: url('fonts/montserrat-v31-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 800;
  src: url('fonts/montserrat-v31-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 800;
  src: url('fonts/montserrat-v31-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 900;
  src: url('fonts/montserrat-v31-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 900;
  src: url('fonts/montserrat-v31-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 100;
  src: url('fonts/roboto-condensed-v31-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-100italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 100;
  src: url('fonts/roboto-condensed-v31-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 200;
  src: url('fonts/roboto-condensed-v31-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-200italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 200;
  src: url('fonts/roboto-condensed-v31-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 300;
  src: url('fonts/roboto-condensed-v31-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 300;
  src: url('fonts/roboto-condensed-v31-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 400;
  src: url('fonts/roboto-condensed-v31-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 400;
  src: url('fonts/roboto-condensed-v31-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 500;
  src: url('fonts/roboto-condensed-v31-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 500;
  src: url('fonts/roboto-condensed-v31-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 600;
  src: url('fonts/roboto-condensed-v31-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 600;
  src: url('fonts/roboto-condensed-v31-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 700;
  src: url('fonts/roboto-condensed-v31-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 700;
  src: url('fonts/roboto-condensed-v31-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 800;
  src: url('fonts/roboto-condensed-v31-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 800;
  src: url('fonts/roboto-condensed-v31-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 900;
  src: url('fonts/roboto-condensed-v31-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-condensed-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Roboto Condensed";
  font-style: italic;
  font-weight: 900;
  src: url('fonts/roboto-condensed-v31-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
            --primary-blue: #008080;
            --primary-dark: #044e54;
            --primary-light: #fff;
            --accent-cyan: #008080;
            --accent-glow: rgba(0, 180, 216, 0.45);
            --bg-light: #f8fafc;
            --text-dark: #0f172a;
            --text-muted: #64748b;
            --glass-bg: rgba(0, 128, 128, 0.1);
            --glass-border: rgba(255, 255, 255, 0.6);
        }
        
.text-primary {color: rgba(0, 128, 128, 1) !important}
.breadcrumb-item+.breadcrumb-item::before {color: rgba(0, 128, 128, 1) !important}
        
.btn-outline-primary {
    --bs-btn-color: #008080;
    --bs-btn-border-color: #008080;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #008080;
    --bs-btn-hover-border-color: #008080;
    --bs-btn-focus-shadow-rgb: 0, 128, 128;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #008080;
    --bs-btn-active-border-color: #008080;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #008080;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #008080;
    --bs-gradient: none;
}

html, body {
    max-width: 100%;
    overflow-x: hidden;
}

        body {
            font-family: "Roboto Condensed";
            color: var(--text-dark);
            background-color: var(--bg-light);
            position: relative;
        }
        
        /* --- TYPOGRAFIE (1:1 WIE AUF DER STARTSEITE) --- */
        h2, .h2 {
            font-family: "Montserrat", sans-serif;
            font-weight: 800;
            color: var(--primary-dark);
            letter-spacing: -0.5px;
            position: relative;
        }

        h3, .h3 {
            font-family: "Montserrat", sans-serif;
            font-weight: 700;
            color: var(--primary-blue);
        }

        .section-title-wrapper {
            margin-bottom: 2.5rem;
        }

        .section-subtitle {
            text-transform: uppercase;
            font-size: 0.85rem;
            font-weight: 800;
            color: var(--primary-blue);
            letter-spacing: 2px;
            display: block;
            margin-bottom: 0.5rem;
        }

        /* --- DYNAMISCHER INTERAKTIVER CANVAS BACKGROUND --- */
        #bg-canvas {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            z-index: -1;
            pointer-events: none;
        }
        
        /* --- CONTENT CARDS & INHALTE --- */
        .content-card {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.8);
            border-radius: 8px;
            padding: 35px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
            height: 100%;
        }

        .process-step-num {
            font-family: "Montserrat", sans-serif;
            font-size: 2.5rem;
            font-weight: 900;
            color: var(--primary-blue);
            line-height: 1;
        }

        .tech-spec-box {
            background: var(--primary-dark);
            color: #fff;
            border-radius: 8px;
            padding: 30px;
            border-left: 5px solid var(--accent-cyan);
        }

/* --- STYLED HEADINGS (Banderolen) --- */
.badge-heading-container {
    display: inline-block;
    transform: rotate(-2.5deg);
    margin-bottom: 20px;
    position: relative;
    z-index: 10;
}

/* Für Überlappung / Rausragen aus der Card */
.card-overlap-heading {
    margin-top: -65px;
    margin-left: -35px;
}

/* Basis-Klasse für Banderolen (H2 & H3) */
.badge-heading,
.badge-h3-styled {
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-dark) 100%);
    color: #ffffff;
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 12px 30px;
    display: table;
    margin-bottom: 8px;
    box-shadow: 0 10px 25px rgba(0, 68, 148, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    position: relative;
    overflow: hidden;
}

/* Glanz-Effekt für alle Banderolen */
.badge-heading::before,
.badge-h3-styled::before {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 50%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    transform: skewX(-25deg);
    animation: shine 8s infinite;
}

@keyframes shine {
    100% { left: 200%; }
}

.badge-heading-lg { font-size: clamp(1.6rem, 4vw, 2.8rem); }
.badge-heading-sub { font-size: clamp(1.2rem, 2.8vw, 2rem); margin-top: 5px; margin-left: 30px;}

/* H3 Spezifisch: Kleinere Schriftgröße & Einrückung nach rechts */
.badge-h3-styled {
    font-size: clamp(0.95rem, 1.8vw, 1.2rem);
    margin-left: 20px;
    margin-top: 4px;
    padding: 8px 22px;
}

        /* --- STICKY NAVIGATION --- */
        .navbar {
            background: var(--glass-bg);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(0, 68, 148, 0.1);
            box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
            transition: all 0.3s ease;
        }

        .navbar-brand {
            font-family: "Montserrat", sans-serif;
            font-weight: 900;
            color: #000;
            letter-spacing: -0.5px;
        }

.brand-sub {
    display: block;
    font-size: 0.62rem;
    color: var(--primary-blue);
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
}

.brand-main {
    display: block;
    font-size: 2.2rem;
    line-height: 2.2rem;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    color: #000;
    letter-spacing: 2px;
}

        .nav-link {
            font-weight: 700;
            font-size: 0.85rem;
            color: var(--text-dark);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            padding: 8px 12px !important;
            transition: all 0.3s ease;
            position: relative;
            font-family: "Roboto Condensed", sans-serif;
        }

        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0; left: 50%; width: 0; height: 2px;
            background: var(--accent-cyan);
            transition: all 0.3s ease;
            transform: translateX(-50%);
        }

        .nav-link:hover::after, .nav-link.active::after {
            width: 80%;
        }

        .nav-link:hover { color: var(--primary-blue); }

        /* --- HERO SECTION MIT VOLLFLÄCHIGEM BILD-BACKGROUND --- */
        .hero-section-fullbg {
            position: relative;
            padding: 180px 0 120px;
            color: #ffffff;
            /* box-shadow: inset 0 -50px 50px var(--bg-light); */
        }

        /* --- SHOWCASE SERVICE BLÖCKE (Z-LAYOUT) --- */
        .service-block {
            padding: 100px 0 60px;
            position: relative;
        }

        .service-card-wrapper {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.8);
            border-radius: 8px;
            padding: 45px;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            height: 100%;
            position: relative;
        }

        .service-card-wrapper:hover {
            box-shadow: 0 25px 50px rgba(0, 68, 148, 0.15);
            border-color: var(--primary-light);
        }

        .img-tilt-container {
            position: relative;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
            transform-style: preserve-3d;
            transition: transform 0.5s ease;
        }

        .img-tilt-container img {
            width: 100%;
            height: 500px;
            object-fit: cover;
            transition: transform 0.7s ease;
        }

        .img-tilt-container:hover img {
            transform: scale(1.08);
        }

.floating-badge {
    position: absolute;
    top: 25px;
    right: 25px;
    background: rgba(0, 128, 128, 0.9);
    backdrop-filter: blur(8px);
    color: var(--primary-light);
    border: 0px solid var(--primary-light);
    padding: 8px 18px;
    /* Abrundung und Schrägstellung wie bei den Überschriften */
    border-radius: 4px;
    transform: rotate(-2.5deg);
    font-size: 0.85rem;
    font-weight: 700;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    z-index: 5;
    transition: transform 0.3s ease;
}

/* --- BUTTONS IN DEN SERVICE-CARDS --- */
.service-card-wrapper .btn-outline-primary, .btn-outline-primary {
    display: inline-block;
    /* Schrägstellung und Eckenabrundung wie die Banderolen */
    transform: rotate(-2.5deg);
    border-radius: 4px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 0.85rem;
    padding: 10px 24px;
    transition: all 0.3s ease;
}

.btn-outline-light  {
    display: inline-block;
    /* Schrägstellung und Eckenabrundung wie die Banderolen */
    transform: rotate(-2.5deg);
    border-radius: 4px;
    transition: all 0.3s ease;
    text-transform: uppercase;
}

#btn-fancy-navigation { transform: rotate(-2.5deg) }

/* Hover-Effekt mit Beibehaltung der Schrägstellung */
.service-card-wrapper .btn-outline-primary:hover {
    transform: rotate(-2.5deg) translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 68, 148, 0.25);
}

        .feature-list {
            list-style: none;
            padding: 0;
            margin: 25px 0;
        }

        .feature-list li {
            position: relative;
            padding-left: 32px;
            margin-bottom: 12px;
            font-weight: 600;
            color: var(--text-dark);
        }

        .feature-list li::before {
            content: '\f00c';
            font-family: 'Font Awesome 6 Free';
            font-weight: 900;
            position: absolute;
            left: 0;
            top: 0;
            color: var(--primary-blue);
            background: rgba(0, 68, 148, 0.1);
            width: 22px;
            height: 22px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.7rem;
        }

        /* --- FANCY PARALLAX STATS --- */
        .parallax-counter-section {
            background: linear-gradient(135deg, var(--primary-dark) 0%, #001128 100%);
            color: #ffffff;
            padding: 90px 0;
            position: relative;
            overflow: hidden;
            border-y: 2px solid var(--accent-cyan);
        }

        .stat-number {
            font-family: "Montserrat", sans-serif;
            font-size: 3.5rem;
            font-weight: 900;
            color: var(--accent-cyan);
            text-shadow: 0 0 20px var(--accent-glow);
        }

        /* --- FOOTER & CONTACT --- */
        footer {
            background-color: #090d16;
            color: #94a3b8;
            padding-top: 90px;
            padding-bottom: 30px;
            position: relative;
        }

        .contact-box {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            border-radius: 24px;
            padding: 40px;
        }

        .form-control-fancy {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.15);
            color: #fff;
            border-radius: 10px;
            padding: 7px 9px;
            transition: all 0.3s ease;
        }

        .form-control-fancy:focus {
            background: rgba(255, 255, 255, 0.1);
            border-color: var(--accent-cyan);
            color: #fff;
            box-shadow: 0 0 15px var(--accent-glow);
        }

        .btn-fancy {
            background: linear-gradient(135deg, var(--primary-blue) 0%, var(--accent-cyan) 100%);
            color: #ffffff;
            font-weight: 800;
            letter-spacing: 1px;
            text-transform: uppercase;
            padding: 16px 36px;
            border-radius: 5px;
            border: none;
            box-shadow: 0 10px 25px var(--accent-glow);
            transition: all 0.3s ease;
        }

        .btn-fancy:hover {
            transform: translateY(-3px);
            box-shadow: 0 15px 35px var(--accent-glow);
            color: #fff;
        }

        @media (max-width: 991px) {
            .card-overlap-heading {
                margin-top: -35px;
                margin-left: -10px;
            }
        }
        
        /* --- CARDS & FEATURES --- */
        .feature-box-alt {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(12px);
            border-radius: 8px;
            padding: 30px;
            border: 1px solid rgba(0, 68, 148, 0.08);
            box-shadow: 0 10px 25px rgba(0,0,0,0.03);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .feature-box-alt:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 35px rgba(0, 68, 148, 0.1);
        }

        .icon-circle {
            width: 60px;
            height: 60px;
            background: linear-gradient(135deg, var(--primary-blue), var(--primary-dark));
            color: var(--primary-light);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            margin-bottom: 20px;            
            box-shadow: 0 10px 25px rgba(0, 68, 148, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.3);
            transform: rotate(-5deg);
        }

        /* --- REFERENZEN GALERIE MIT FANCYBOX HOVER --- */
        .gallery-card {
            position: relative;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0,0,0,0.08);
            background: #000;
            height: 280px;
            display: block;
            text-decoration: none;
            cursor: pointer;
        }

        .gallery-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease, opacity 0.5s ease;
            opacity: 0.9;
        }

        .gallery-card:hover img {
            transform: scale(1.08);
            opacity: 0.7;
        }

        .gallery-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(0deg, rgba(0, 34, 77, 0.92) 0%, rgba(0, 34, 77, 0.2) 60%, transparent 100%);
            display: flex;
            flex-direction: column;
            justify-content: flex-end;
            padding: 24px;
            color: #fff;
            transition: all 0.3s ease;
        }

        .gallery-tag {
            align-self: flex-start;
            background: var(--accent-cyan);
            color: var(--primary-dark);
            font-size: 0.75rem;
            font-weight: 800;
            text-transform: uppercase;
            padding: 4px 12px;
            border-radius: 50px;
            margin-bottom: 8px;
            letter-spacing: 0.5px;
        }

        .gallery-zoom-icon {
            position: absolute;
            top: 20px;
            right: 20px;
            width: 40px;
            height: 40px;
            background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(8px);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            opacity: 0;
            transform: translateY(-10px);
            transition: all 0.3s ease;
        }

        .gallery-card:hover .gallery-zoom-icon {
            opacity: 1;
            transform: translateY(0);
        }

        /* --- ACCORDION --- */
        .accordion-button:not(.collapsed) {
            background-color: rgba(0, 68, 148, 0.05);
            color: var(--primary-blue);
            font-weight: 700;
        }

        .accordion-button:focus {
            box-shadow: none;
            border-color: var(--primary-blue);
        }


/* Form Email Versand */        
/* Basis-Einstellungen für die Feedback-Box */
#formFeedback {
    display: none;
    margin-top: 1rem;
    padding: 15px 15px 15px 45px !important; /* Platz links für das Icon */
    border-radius: 4px;
    border: 1px solid transparent;
    font-weight: 500;
    box-sizing: border-box;
    width: 100%;
    background-repeat: no-repeat !important;
    background-position: 15px center !important;
    background-size: 20px 20px !important;
}
/* Während des Versands (Info) */
#formFeedback.alert-info {
    display: block !important;
    background-color: #f8f9fa !important;
    color: #0c5460 !important;
    border-color: #bee5eb !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230c5460' viewBox='0 0 16 16'%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z'/%3E%3C/svg%3E") !important;
}
/* ERFOLG: Grüner Rahmen + Häkchen-Icon starr in einer Zeile */
#formFeedback.alert-success {
    display: block !important;
    background-color: #e8f5e9 !important;
    color: #1b5e20 !important;
    border-color: #a5d6a7 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231b5e20' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z'/%3E%3C/svg%3E") !important;
}
/* FEHLER: Roter Rahmen + Warn-Icon starr in einer Zeile */
#formFeedback.alert-danger {
    display: block !important;
    background-color: #ffebee !important;
    color: #c62828 !important;
    border-color: #ef9a9a !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23c62828' viewBox='0 0 16 16'%3E%3Cpath d='M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3E%3C/svg%3E") !important;
}