    /* geologica-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: 'Geologica';
        font-style: normal;
        font-weight: 300;
        src: url('../webfonts/geologica-v5-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }

    /* geologica-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: 'Geologica';
        font-style: normal;
        font-weight: 400;
        src: url('../webfonts/geologica-v5-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }

    /* geologica-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: 'Geologica';
        font-style: normal;
        font-weight: 500;
        src: url('../webfonts/geologica-v5-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }

    /* geologica-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: 'Geologica';
        font-style: normal;
        font-weight: 600;
        src: url('../webfonts/geologica-v5-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }

    /* geologica-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: 'Geologica';
        font-style: normal;
        font-weight: 700;
        src: url('../webfonts/geologica-v5-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }

    /* geologica-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: 'Geologica';
        font-style: normal;
        font-weight: 800;
        src: url('../webfonts/geologica-v5-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }

    /* geologica-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: 'Geologica';
        font-style: normal;
        font-weight: 900;
        src: url('../webfonts/geologica-v5-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
    }

    html, body {
        margin: 0;
        font-family: "Geologica", sans-serif;
        font-optical-sizing: auto;
        font-style: normal;
        font-size: 18px;
        min-height: 100dvh;
        font-weight: 300;
        /*color: #fff;*/
    }
@media(max-width:992px){
    
    html, body {
        font-size: 16px;
    }
    
}
strong {font-weight: 700;}
    nav {
        margin: 0;
        font-family: "Geologica", sans-serif;
        font-optical-sizing: auto;
        font-style: normal;
        background: #CD0C57;
        background: linear-gradient(160deg, rgba(205, 12, 87, 1) 0%, rgba(236, 126, 62, 1) 100%);
    }
    .bg-ccx {
        background: #CD0C57;
        background: linear-gradient(160deg, rgba(205, 12, 87, 1) 0%, rgba(236, 126, 62, 1) 100%);
    }
.text-ccx {background: -webkit-linear-gradient(180deg, rgba(236, 126, 62, 1) 30%, rgba(205, 12, 87, 1) 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;}
.fw-800 {font-weight: 800;}
    
    a.nav-link, a.nav-link:hover {color: #fff; padding: .5rem 1.5rem .5rem 1.5rem !important; border-radius: 2rem; margin: 0 .125rem; border: 1px solid rgba(255,255,255,0);}

    a.nav-link:hover {background-color: rgba(255,255,255,.25); border: 1px solid rgba(255,255,255,.3);}
    a.active {background-color: rgba(255,255,255,.25); color: #fff !important; border: 1px solid rgba(255,255,255,0);}
    
    a {
        color: #fff;
        text-decoration: none;
    }
    a:hover {
        color: #fff;
        text-decoration: none;
    }

@media(max-width:992px){
    a.nav-link, a.nav-link:hover {color: #000;}
    a.active {
  background: -webkit-linear-gradient(180deg, rgba(236, 126, 62, 1) 30%, rgba(205, 12, 87, 1) 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;}
}
a.footer {text-decoration: none;}
a.footer:hover {text-decoration: underline;}

.textfeld a {background: -webkit-linear-gradient(180deg, rgba(236, 126, 62, 1) 30%, rgba(205, 12, 87, 1) 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;}
.textfeld  a:hover {background: -webkit-linear-gradient(180deg, rgba(236, 126, 62, 1) 50%, rgba(205, 12, 87, 1) 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;}

    h1, .h1 {
        font-weight: 700;
        font-size: 2.5rem;
  background: -webkit-linear-gradient(180deg, rgba(236, 126, 62, 1) 30%, rgba(205, 12, 87, 1) 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    }
    h2, .h2 {
        font-weight: 700;
        font-size: 2rem;
  background: -webkit-linear-gradient(180deg, rgba(236, 126, 62, 1) 30%, rgba(205, 12, 87, 1) 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    }
        h5, .h5 {
            font-size: 1.125rem;
        }
    @media(max-width: 992px){
        h1, .h1 {
            font-weight: 700;
            font-size: 2.0rem;
        }
        h2, .h2 {
            font-weight: 900;
            font-size: 1.75rem;
        }
        h5, .h5 {
            font-size: 1.125rem;
        }
    }
    .btn {
        font-weight: 900;
    }
p:last-of-type {
  margin-bottom: 0;
}
    .scroll-container {
        height: 100dvh;
        overflow-y: scroll;
    }
    .page {
        height: 100dvh;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        color: white;
        scroll-snap-align: start;
    }
    .form-floating > label {
        color: #000;
    }
    p:last-child {
        margin-bottom: 0;
    }

    /* WICHTIG: Desktop-Anpassung für die Offcanvas-Navbar
    Bootstrap 5 "Offcanvas" ist standardmäßig immer versteckt/seitlich.
    Dieser Media-Query sorgt dafür, dass ab "lg" (Large Screens) 
    das Menü wie eine normale horizontale Leiste aussieht.
    */
    @media (min-width: 992px) {
        .offcanvas {
            visibility: visible;
            position: static;
            background: none;
            border: none;
            justify-content: flex-end;
            width: auto;
            height: auto;
            transform: none;
            transition: none;
        }

        /* Verstecke den Header (Titel & Schließen-X) auf Desktop */
        .offcanvas-header {
            display: none;
        }

        /* Normale Flexbox-Anordnung für Desktop */
        .offcanvas-body {
            display: flex;
            align-items: center;
            padding: 0;
            overflow: visible;
        }
    }

    /* Kleines Styling für das Slide-In Menü (Mobile) */
    .offcanvas.show {
        background-color: rgba(255,255,255,.95); /* Weißer Hintergrund im Mobile Menü */
    }
    
    
    
    
    
    


    /* Audience */

    /* Custom Styles für die Audience Cards */
    .ccx-card {
        border: none;
        border-radius: 1rem;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        background: #fff;
        height: 100%; /* Damit beide Karten gleich hoch sind */
        overflow: hidden; /* Damit der Header-Radius passt */
    }

    .ccx-card:hover {
        transform: translateY(-5px);
    }

    /* Header Farben */
    .header-creator {
        background: linear-gradient(135deg, #6f42c1, #a66efa);
        color: white;
        padding: 2rem;
        text-align: center;
    }

    .header-company {
        background: linear-gradient(135deg, #0d6efd, #0dcaf0);
        color: white;
        padding: 2rem;
        text-align: center;
    }

    /* Icon Styles im Header */
    .header-icon {
        font-size: 2.5rem;
        margin-bottom: 1rem;
        opacity: 0.9;
    }

    /* Listen Styles */
    .goal-list {
        padding: 2rem;
    }

    .goal-item {
        display: flex;
        align-items: flex-start;
        margin-bottom: 1rem;
        color: #495057;
    }

    .check-icon {
        color: #198754; /* Grün für Checkmarks */
        margin-right: 1rem;
        margin-top: 0.25rem; /* Optische Ausrichtung zur ersten Textzeile */
        flex-shrink: 0;
    }

    .subtitle {
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        opacity: 0.8;
        margin-bottom: 0.5rem;
        display: block;
    }

    /* --- NEU: Market Segments Styles --- */
    .segment-card {
        border: 1px solid rgba(0,0,0,0.05);
        background-color: #f8f9fa;
        transition: all 0.3s ease;
    }
    .segment-card:hover {
        background-color: #fff;
        box-shadow: 0 10px 20px rgba(0,0,0,0.08);
        transform: translateY(-3px);
        border-color: transparent;
    }
    .segment-icon {
        width: 60px;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 12px;
        font-size: 1.75rem;
        margin-bottom: 1rem;
    }


    /* Ende Audience */

    /* Location */

    /* Custom Styles */
    .location-badge {
        display: inline-flex;
        align-items: center;
        padding: 0.5rem 1rem;
        border-radius: 50px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.0);
        font-weight: 600;
        color: #fff;
        margin-bottom: 1.5rem;
        transition: transform 0.2s;
        cursor: default; /* Zeigt an, dass es noch kein Link ist */
    }

    /* Placeholder für den späteren Link-Hover-Effekt */
    .location-badge.is-link:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        cursor: pointer;
        color: #0d6efd;
    }

    .pin-icon {
        margin-right: 0.5rem;
        font-size: 1.1rem;
    }

    .hotel-desc {
        font-size: 1.1rem;
        line-height: 1.8;
        color: #6c757d;
    }

    /* Image Gallery Styles */
    .gallery-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 1rem;
        transition: transform 0.4s ease;
    }

    .img-wrapper {
        overflow: hidden;
        border-radius: 1rem;
        position: relative;
    }

    /* Hover Effekt für Bilder */
    .img-wrapper:hover .gallery-img {
        transform: scale(1.05);
    }

    /* Spezifische Höhen für das Grid */
    .h-full-img { height: 100%; min-height: 300px; }
    .h-half-img { height: 200px; }

    @media (min-width: 992px) {
        .h-full-img { min-height: 420px; }
    }

    /* Ende Location */

    /* Participants */

    .participant-name {
        font-weight: 700;
        color: #212529;
    }

    .participant-position {
        color: #6c757d;
        font-size: 0.95rem;
        margin-bottom: 0.25rem;
    }

    .participant-company {
        color: #0d6efd; /* Primärfarbe (Blau) */
        font-weight: 600;
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    /* Ende Participants */ 
    /* Apply Now */
    /* Custom Styles */
    .apply-section {
        min-height: 80vh; /* Sorgt dafür, dass die Sektion auf großen Bildschirmen schön mittig wirkt */
        display: flex;
        align-items: center;
    }

    .apply-card {
        border: none;
        border-radius: 1.5rem;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        background: #fff;
        height: 100%;
        position: relative;
        overflow: hidden;
        z-index: 1;
    }

    .apply-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 1.5rem 4rem rgba(0,0,0,0.12) !important;
    }

    .btn-industry {
        background: #CD0C57;
        background: linear-gradient(160deg, rgba(205, 12, 87, 1) 0%, rgba(236, 126, 62, 1) 100%);
        color: white;
    }
    .btn-industry:hover {
        background: #CD0C57;
        background: linear-gradient(160deg, rgba(205, 12, 87, 1) 0%, rgba(236, 126, 62, 1) 100%);
    }

    /* Farbcodierung: Creator (Lila) */
    .card-creator {
        border-top: 8px solid #8b5cf6;
    }
    .icon-box-creator {
        background-color: rgba(139, 92, 246, 0.1);
        color: #8b5cf6;
    }
    .btn-creator {
        background-color: #8b5cf6;
        border-color: #8b5cf6;
        color: white;
    }
    .btn-creator:hover {
        background-color: #7c3aed;
    }

    /* Gemeinsame Styles */
    .icon-box {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2rem;
        margin: 0 auto 1.5rem;
    }

    .benefit-list li {
        margin-bottom: 1rem;
        display: flex;
        align-items: flex-start;
        font-size: 1.05rem;
        color: #495057;
    }

    .check-icon {
        margin-right: 10px;
        margin-top: 4px;
    }

    .cta-btn {
        padding: 1rem 2rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
        border-radius: 50px;
        width: 100%;
        transition: all 0.3s ease;
    }

    .cta-btn:hover {
        transform: scale(1.02);
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    }
    /* Ende Apply Now */

    /* 1. Die Liste innerhalb des Divs ansprechen */
    .fa-check-list ul {
        list-style: none;       /* Standard-Bullets entfernen */
        padding-left: 0;        /* Standard-Padding entfernen */
        margin-left: 0;
        margin-bottom: 0;       /* Optional: Verhindert doppelten Abstand unten */
    }

    /* 2. Die Listeneinträge stylen */
    .fa-check-list ul li {
        position: relative;     /* Referenzpunkt für das absolute Icon */
        padding-left: 2rem;     /* Platz links für das Icon lassen */
        margin-bottom: 0.75rem; /* Abstand zwischen den Punkten */
        line-height: 1.5;
    }

    /* 3. Das FontAwesome Icon einfügen */
    .fa-check-list ul li::before {
        content: "\f00c";       /* Unicode für Checkmark */
        font-family: "Font Awesome 6 Free";
        font-weight: 900;       /* Wichtig für Free-Icons */

        position: absolute;     /* Aus dem Textfluss nehmen */
        left: 0;                /* Ganz links platzieren */
        top: 3px;               /* Feinjustierung der Höhe */

        color: #198754;         /* Farbe (Grün) */
        font-size: 1.1rem;      /* Größe */
    }

   /* Agenda */
    /* --- Timeline Container --- */
    .timeline {
        position: relative;
        max-width: 1200px;
        margin: 0 auto;
        padding: 5px 0;
    }

    /* Die vertikale Linie (Desktop: Mitte) */
    .timeline::after {
        content: '';
        position: absolute;
        width: 4px;
        background-color: #e9ecef;
        top: 0;
        bottom: 0;
        left: 50%;
        margin-left: -2px;
        border-radius: 2px;
        z-index: 0;
    }

    /* Container für jeden Agenda-Punkt */
    .timeline-item {
        padding: 10px 40px;
        position: relative;
        background-color: inherit;
        width: 50%;
        box-sizing: border-box;
        z-index: 1;
    }

    /* Ausrichtung Links/Rechts */
    .left { left: 0; }
    .right { left: 50%; }

    /* Der Kreis (Nummer/Icon) */
    .timeline-badge {
        position: absolute;
        width: 40px;
        height: 40px;
        right: -20px;
        background-color: #fff;
        border: 4px solid #CD0C57; /* Deine Akzentfarbe hier anpassen */
        top: 20px;
        border-radius: 50%;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        color: #CD0C57; /* Textfarbe im Kreis */
        box-shadow: 0 0 0 4px #fff; /* Weißer Abstandhalter zur Linie */
    }

    /* Fix für rechte Seite: Badge nach links schieben */
    .right .timeline-badge {
        left: -20px;
    }

    /* Die eigentliche Karte mit Inhalt */
    .timeline-content {
        padding: 15px 30px;
        background-color: white;
        position: relative;
        border-radius: 10px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        transition: transform 0.3s ease;
    }

    .timeline-content:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    }

    /* Pfeile zur Mitte (Desktop) */
    /* Für linke Items: Pfeil ist rechts */
    .left .timeline-content::before {
        content: " ";
        position: absolute;
        top: 26px;
        right: -10px;
        border-width: 10px 0 10px 10px;
        border-color: transparent transparent transparent white;
        border-style: solid;
    }

    /* Für rechte Items: Pfeil ist links */
    .right .timeline-content::before {
        content: " ";
        position: absolute;
        top: 26px;
        left: -10px;
        border-width: 10px 10px 10px 0;
        border-color: transparent white transparent transparent;
        border-style: solid;
    }

    /* Kleine Hilfsklassen */
    .time-label {
        color: #6c757d;
        font-size: 0.8rem;
        font-weight: 600;
        display: block;
        margin-bottom: 0.25rem;
        text-transform: uppercase;
    }

    /* --- Mobile Anpassung (< 768px) --- */
    @media screen and (max-width: 767px) {
        .timeline::after {
            left: 31px; /* Linie nach links */
        }
        .timeline-item {
            width: 100%;
            padding-left: 70px;
            padding-right: 25px;
        }
        .timeline-item.right {
            left: 0%;
        }
        .timeline-badge {
            left: 11px !important;
            right: auto;
        }

        /* KORREKTUR: Pfeile auf Mobile immer von links */
        .left .timeline-content::before, 
        .right .timeline-content::before {
            right: auto; /* WICHTIG: 'right' von Desktop zurücksetzen */
            left: -10px; /* Immer links positionieren */
            border-width: 10px 10px 10px 0; /* Pfeilform nach links zeigend */
            border-color: transparent white transparent transparent;
        }
    }
    /* Ende Agenda */


   .highlight-item {
        transition: box-shadow 0.3s ease;
        border: none;
    }
    .highlight-item:hover {
        box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
    }
    .icon-circle {
        width: 64px;
        height: 64px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        font-size: 1.5rem;
        transition: all 0.3s ease;
    }
    .highlight-item:hover .icon-circle {
        transform: scale(1.1);
        color: white !important;
    }
    .highlight-item:hover .bg-blue-subtle { background-color: #0d6efd !important; }
    .highlight-item:hover .bg-purple-subtle { background-color: #6f42c1 !important; }
    .highlight-item:hover .bg-success-subtle { background-color: #198754 !important; }
    .highlight-item:hover .bg-warning-subtle { background-color: #ffc107 !important; }

    .bg-purple-subtle { background-color: #e0cffc; color: #6f42c1; }
    .bg-blue-subtle { background-color: #cfe2ff; color: #0d6efd; }
    .bg-success-subtle { background-color: #d1e7dd; color: #198754; }
    .bg-warning-subtle { background-color: #fff3cd; color: #856404; }
