/* ============================================================
   BLOCK 1 – HERO NEU
   ============================================================ */

.block-1-hero-neu {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: var(--sectionPadding);
    padding-bottom: var(--sectionPadding);
    overflow: hidden;
}

/* Hintergrundbild */
.block-1-hero-neu .bgHelper {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.block-1-hero-neu .bgHelper img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Dunkles Overlay */
.block-1-hero-neu .heroOverlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.45) 0%,
        rgba(0, 0, 0, 0.35) 60%,
        rgba(0, 0, 0, 0.55) 100%
    );
}

/* Inner Container */
.block-1-hero-neu .heroInner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Überschrift */
.block-1-hero-neu .heroTitle {
    display: flex;
    flex-direction: column;
    color: var(--primary-foreground);
    font-size: 6rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 2.4rem;
    text-shadow: 0 0.2rem 1.6rem rgba(0, 0, 0, 0.3);
}

.block-1-hero-neu .heroTitleLine1 {
    display: block;
}

.block-1-hero-neu .heroTitleLine2 {
    display: block;
    color: var(--primary);
}

/* Subtext */
.block-1-hero-neu .heroSubtext {
    color: color-mix(in oklch, var(--primary-foreground) 85%, transparent);
    font-size: 1.8rem;
    line-height: 1.6;
    max-width: 60rem;
    margin: 0 auto 4rem;
}

/* Buttons Wrapper */
.block-1-hero-neu .heroBtns {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
}

/* Arrow Icon im Button */
.block-1-hero-neu .heroBtnArrow {
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0;
}

/* Scroll Indicator */
.block-1-hero-neu .heroScrollIndicator {
    position: absolute;
    bottom: 3.2rem;
    left: 50%;
    transform: translateX(-50%);
    color: var(--primary-foreground);
    opacity: 0.7;
    animation: heroScrollBounce 2s ease-in-out infinite;
    cursor: default;
}

.block-1-hero-neu .heroScrollIndicator svg {
    width: 3.2rem;
    height: 3.2rem;
    display: block;
}

@keyframes heroScrollBounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50%       { transform: translateX(-50%) translateY(0.8rem); }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 991px) {
    .block-1-hero-neu .heroTitle {
        font-size: 4.8rem;
    }
}

@media (max-width: 767px) {
    .block-1-hero-neu .heroTitle {
        font-size: 3.6rem;
    }

    .block-1-hero-neu .heroSubtext {
        font-size: 1.6rem;
    }

    .block-1-hero-neu .heroBtns {
        flex-direction: column;
        width: 100%;
    }

    .block-1-hero-neu .heroBtns .ctaBtn,
    .block-1-hero-neu .heroBtns .ctaBtnSecondary {
        width: 100%;
        justify-content: center;
    }
}