/* ==========================================================================
   ALLGEMEINE STYLES (styles.css)
   ========================================================================== */

/* --- DEINE NEUEN WEISSEN SEKTIONEN ZUM SCROLLEN --- */
.white-section {
    width: 100%;
    min-height: 100vh;
    background-color: #fdfdfd;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 120px 32px;
    box-sizing: border-box;
}

.white-section h2 {
    color: #333333;
    margin-bottom: 20px;
}

.white-section p {
    color: #666666;

}
/* ==========================================================================
   SCROLL ANIMATIONEN (Rock-Solid & Knackig)
   ========================================================================== */
.reveal-up, .reveal-zoom, .reveal-fade {
    opacity: 0;
    will-change: opacity, transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform-style: preserve-3d;
}

/* 🔥 Kürzere Wege, schnellere Zeiten (0.8s) für ein sofortiges App-Gefühl */
/* ==========================================================================
   SCROLL ANIMATIONEN (Langsamer, weicher & kaskadierend)
   ========================================================================== */

/* 1. Standard Einschweben (Für Karten und Texte) */
.reveal-up {
    opacity: 0;
    transform: translateY(80px); /* Startet tiefer, damit man die Bewegung besser sieht */
    transition: opacity 1.2s ease-out, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1); /* Auf 1.2s verlangsamt */
    will-change: opacity, transform;
}

.reveal-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* 2. 🔥 NEU: Der "Slide & Zoom" Effekt (Speziell für die Screenshots) */
.reveal-zoom {
    opacity: 0;
    transform: translateY(80px) scale(0.85); /* Startet tiefer UND etwas kleiner */
    transition: opacity 1.2s ease-out, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: opacity, transform;
}

.reveal-zoom.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1); /* Wächst beim Einschweben auf Originalgröße */
}
.reveal-fade {
    transition: opacity 0.8s ease-out;
}

.reveal-up.is-visible,
.reveal-zoom.is-visible,
.reveal-fade.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}


/* ==========================================================================
   SCROLL PROGRESS BAR (AKTUALISIERT FÜR BESSEREN KONTRAST)
   ========================================================================== */

/* (Der Container bleibt wie gehabt) */
/* ==========================================================================
   SCROLL PROGRESS BAR (Maximal performant!)
   ========================================================================== */
.scroll-progress-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background-color: transparent;
    z-index: 9999;

    /* 🔥 NEU: Verhindert, dass der Balken über den Rand hinaus sichtbar ist */
    overflow: hidden;
}

.scroll-progress-bar {
    height: 100%;
    width: 100%; /* Balken ist immer 100% breit */
    background-color: #333333;
    border-radius: 0 4px 4px 0;

    /* 🔥 NEU: Wir starten, indem wir den Balken 100% nach links aus dem Bildschirm schieben */
    transform: translate3d(-100%, 0, 0);

    /* Zwingt den Browser, das auf die Grafikkarte auszulagern */
    will-change: transform;
}

/* 🔥 HIER SIND DIE NEUEN, KONTRASTREICHEREN FARBEN 🔥 */
.scroll-progress-bar.gradient-mode {
    background: linear-gradient(90deg,
    #3D94E2, /* Kräftiges Blau statt Pastel-Blau */
    #ED4F8D, /* Kräftiges Magenta/Pink statt Pastel-Pink */
    #FB8F53, /* Sattes Orange statt Pastel-Pfirsich */
    #5DD4C2  /* Kräftiges Cyan statt Pastel-Grün */
    );

    /* Ich habe auch den Glow-Effekt etwas angepasst,
       damit er mit den stärkeren Farben besser harmoniert und die Kanten definiert */
    box-shadow:
            0 1px 3px rgba(0,0,0,0.1), /* Eine feine dunkle Kante für Tiefe */
            0 3px 8px rgba(237, 79, 141, 0.4); /* Die bunte Glow-Farbe */
}


/* ==========================================================================
   LENIS SMOOTH SCROLLING (Sicherheits-Regeln gegen Einfrieren)
   ========================================================================== */
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;
}


.lenis.lenis-smooth iframe {
    pointer-events: none;
}


.section-title {
    /* 🔥 Handbremse gelöst! Das Maximum ist jetzt massiv erhöht (4.2rem),
       sodass der Text auf PC-Monitoren endlos weiter wachsen kann! */
    font-size: clamp(1.8rem, 3.5vw, 4.2rem);

    font-weight: 700;
    margin-bottom: 50px;
    letter-spacing: -1px;
    width: 100%;
}