.hero {
    position: relative;
    min-height: clamp(520px, 75vh, 860px);  /*war mal 520 px, 72vh, 860px*/
    overflow: hidden;
    background: #333
}

.hero-slides,
.hero-slide,
.hero-overlay {
    position: absolute;
    inset: 0
}

.hero-slide {
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform: scale(1);
    transition: opacity 1s ease-in, transform 3s ease;
}

.hero-slide.is-active {
    opacity: 1;
    transform: scale(1.05);
}

.hero-fallback {
    background: linear-gradient(135deg, #5d5d5d, #2f2f2f)
}

.hero-overlay {
    background: linear-gradient(90deg, rgba(0, 0, 0, .58) 0%, rgba(0, 0, 0, .3) 43%, rgba(0, 0, 0, .05) 75%)
}

.hero-content {
    position: relative;
    z-index: 2;
    min-height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    color: #fff;
    padding-top: 20px;
    padding-bottom: 20px
}

.hero h1 {
    color: #fff;
    max-width: 900px;
    margin-bottom: 18px;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .2)
}

.hero p {
    max-width: 700px;
    font-size: clamp(1.05rem, 1.8vw, 1.35rem);
    color: rgba(255, 255, 255, .9);
    margin-bottom: 34px
}

.hero-arrow {
    position: absolute;
    z-index: 3;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: 0;
    background: rgba(0, 0, 0, .18);
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
    display:none
}

.hero-arrow.prev {
    left: 18px;
    display: none;
}
.hero-arrow.next {
    right: 18px;
    display:none;
}

.hero-dots {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 26px;
    transform: translateX(-50%);
    display: none;
    gap: 8px
}

.hero-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid #fff;
    background: transparent;
    cursor: pointer
}

.hero-dots button.active {
    background: #fff
}

@media(max-width:700px) {
    .hero {
        min-height: 70vh
    }

    .hero-overlay {
        background: linear-gradient(90deg, rgba(0, 0, 0, .56), rgba(0, 0, 0, .25))
    }

    .hero-arrow {
        width: 40px;
        height: 40px
    }

    .hero h1 {
        font-size: clamp(2.6rem, 12vw, 4.2rem)
    }
}

/* Austauschbare Diashow im Handy-Display */
.hero-phone-scene { position:absolute; width:1920px; height:1081px; transform-origin:0 0; }
.hero-phone-background { position:absolute; inset:0; width:100%; height:100%; }
.hero-phone-display { position:absolute; top:0; left:0; width:798px; height:1744px; transform-origin:0 0; overflow:hidden; border-radius:86px; transform:matrix3d(0.125345035117,-0.0247943151272,0,-5.68572690383e-05,-0.0914303901478,0.188723497917,0,-4.45157593037e-05,0,0,1,0,1246,394,0,1); background:#111; }
.hero-phone-display img { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; opacity:0; transition:opacity 600ms ease-in-out; filter:brightness(.92); }
.hero-phone-display img.is-active { opacity:1; }
@media(prefers-reduced-motion:reduce) { .hero-phone-display img { transition:none; } }

@media(prefers-reduced-motion:reduce) { .hero-phone .hero-slide { transform:none; transition:none; } }
