/* Community Seite Abstand am Seitenanfang entfernen */
:where(.wp-site-blocks) > * {
margin-block-start: 0 !important;
}


*,
*::before,
*::after {
    box-sizing: border-box;
}

    :root {
        --gap: 16px;
        --barw: 6px;
        --barh: 36px;
        --radius: 16px;
    }

    html, body {
        margin: 0;
        padding: 0;
        overflow: hidden;
    }

/* Landing Page, Start Trial Badge */
.pg-start-trial-badge {
position: fixed;
bottom: 70px;
right: 20px;
z-index: 500;
width: 50px;
height: 50px;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 1px;
padding: 5px;
background: rgba(41, 170, 177, 0.9);
border-radius: 50%;
text-decoration: none;
color: #fff;
transition: transform .2s ease, box-shadow .2s ease;
}

.pg-start-trial-badge img {
display: block;
width: 25px;
height: 25px;
margin-bottom: 1px;
}

.pg-start-trial-badge span {
display: block;
font-size: 8px;
font-weight: 700;
line-height: 0.95;
letter-spacing: .2px;
text-transform: uppercase;
}

@media (min-width: 981px) {
    .pg-start-trial-badge {
        right: max(35px, calc((100vw - 1340px) / 2 + 8px));
        width: 70px;
        height: 70px;
        padding: 10px;
        gap: 2px;
    }

.pg-start-trial-badge img {
    width: 35px;
    height: 35px;
    }

.pg-start-trial-badge span {
    font-size: 12px;
    line-height: 1;
    }
}

@media (hover: hover) {
    .pg-start-trial-badge:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
    }
}

    .snap {
        height: 100vh;
        overflow-y: auto;
        scroll-snap-type: y mandatory;
        overscroll-behavior-y: contain;
        scroll-behavior: smooth;
    }

    .hero {
        position: relative;
        height: 100vh;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        display: grid;
        align-items: end;
        justify-items: center;
        padding-bottom: clamp(75px, 8vh, 90px);
        box-sizing: border-box;
        isolation: isolate;
    }

    .bg {
        position: absolute;
        inset: 0;
        z-index: -1;
        overflow: hidden;
    }

    .bg picture,
    .bg img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        filter: brightness(.8);
    }

    .overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.5) 35%, rgba(0, 0, 0, 0) 70%);
    }

    .content {
        width: min(1000px, 92vw);
        padding: clamp(16px, 4vw, 48px);
        padding-right: clamp(32px, 6vw, 80px);
        text-align: left;
        color: #ffffff;
    }


    

    @media (max-width: 782px) {
        .content {
            width: calc(100vw - 80px);
            justify-self: start;
            padding-left: 20px;
        }
    }
    
    
    .eyebrow {
        font-size: 14px;
        letter-spacing: .12em;
        text-transform: uppercase;
        opacity: .9;
    }

    h1 {
        margin: 8px 0 12px;
        font-size: clamp(28px, 6vw, 56px);
        line-height: 1.05;
    }

    p {
        margin: 0;
        font-size: clamp(15px, 2.3vw, 18px);
        max-width: 60ch;
        opacity: .95;
    }

    .hero-features {
        font-weight: 600;
    }

    .cta {
        margin-top: 18px;
        display: inline-block;
        padding: 10px 16px;
        border-radius: 999px;
        border: 1px solid rgb(255 255 255 / .35);
        color: #fff;
        text-decoration: none;
        backdrop-filter: blur(6px);
        background: rgb(255 255 255 / .08);
    }

    .bars {
        position: fixed;
        inset: 50% 18px auto auto;
        translate: 0 -50%;
        display: flex;
        flex-direction: column;
        gap: 10px;
        z-index: 10;
    }

    .bar {
        width: var(--barw);
        height: var(--barh);
        border-radius: 999px;
        background: rgb(255 255 255 / .35);
        border: 1px solid rgb(255 255 255 / .2);
        cursor: pointer;
        transition: all .2s ease;
    }


    .bar[aria-current="true"] {
        background: #b5b5b5;
        height: calc(var(--barh) * 1.25);
        border-color: #b5b5b5;
    }

    @media (prefers-reduced-motion: reduce){ .snap{ scroll-behavior: auto; } .bar{ transition: none; } }



    

/* App Hero Layout with Screenshots */

.app-hero-layout {
    width: min(1200px, 92vw);
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 420px);
    align-items: end;
    gap: clamp(24px, 5vw, 64px);
    color: #fff;
    padding-top: 200px;
    z-index: 2;
}

.app-hero-text {
    text-align: left;
    padding-bottom: 20px;
}

.app-hero-visual {
    display: flex;
    justify-content: center;
    align-items: end;
}

.app-phone-mockup {
    width: clamp(260px, 28vw, 340px);
    transform: perspective(1000px) rotateY(-10deg) rotateZ(4deg);
    filter: drop-shadow(0 24px 40px rgba(0, 0, 0, 0.55));
}

.app-phone-mockup img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 38px;
}

/* Tablet */
@media (max-width: 980px) {
    .app-hero-layout {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
        gap: 32px;
    }

    .app-phone-mockup {
        width: clamp(230px, 30vw, 300px);
    }
}




/* Mobile */
@media (max-width: 782px) {
    .app-hero-layout {
        width: calc(100vw - 80px);
        grid-template-columns: 1fr;
        gap: 28px;
        text-align: center;
        padding-right: 20px;
    }

    .app-hero-text {
        text-align: center;
        padding-bottom: 0;
    }

    .app-hero-text p {
        margin-inline: auto;
    }

    .app-hero-visual {
        justify-content: center;
    }

    .app-phone-mockup {
        width: min(300px, 75vw);
        height: min(70dvh, 560px);
        overflow: hidden;
        transform: none;
        border-radius: 38px;
    }

    .app-phone-mockup img {
        width: 100%;
        height: auto;
        display: block;
        transform: translateY(-225px);
        border-radius: 32px;
    }
}

    .footer-content {
        position: relative;
        z-index: 10;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: min(720px, calc(100vw - 30px));
        max-width: none;
        margin-inline: auto;
        text-align: center;
    }

    .pg-yc-final-cta {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: min(100%, 520px);
        margin-bottom: 30px;
        text-align: center;
    }

    .pg-yc-final-cta-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 50px;
        padding: 0 30px;
        border-radius: 99px;
        background: rgba(41, 170, 177, 0.9);
        color: #fff;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1;
        text-decoration: none;
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.24);
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }


    @media (hover: hover) {
        .pg-yc-final-cta-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
        }
    }


    .pg-yc-final-cta-divider {
        width: min(220px, 55vw);
        height: 1px;
        margin: 22px 0 16px;
        background: rgba(255, 255, 255, 0.4);
    }

    .pg-yc-store-label {
        margin: 0 0 12px;
        color: #fff;
        font-size: 0.95rem;
        font-weight: 600;
        line-height: 1.3;
    }

    .pg-yc-store-badges {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
    }


    .pg-yc-store-badges a {
        display: block;
        line-height: 0;
    }
    
    .pg-yc-store-badges img {
        display: block;
        width: auto;
        height: 42px;
    }
    
    .pg-yc-store-note {
        margin: 13px 0 0;
        color: rgba(255, 255, 255, 0.82);
        font-size: 0.85rem;
        line-height: 1.4;
    }

    .pg-yc-footer-brand {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin-bottom: 18px;
    }

    .pg-yc-footer-flag {
        display: block;
        height: 16px;
        width: auto;
        margin-bottom: 2px;
        border-radius: 2px;
    }

    .pg-yc-footer-origin {
        margin: 0;
        line-height: 1.35;
    }

    .pg-yc-footer-byline {
        margin: 10px 0 0;
        font-weight: 600;
    }

    .pg-yc-footer-links {
        width: 100%;
        margin-top: 0;
        text-align: center;
    }

    .pg-yc-footer-links a {
        color: #fff;
        text-decoration: none;
        opacity: .85;
    }

    .pg-yc-footer-links a:hover {
        opacity: 1;
    }

    @media (max-width: 782px) {
        .pg-yc-final-cta {
            margin-bottom: 24px;
        }

        .pg-yc-final-cta-button {
            min-height: 46px;
            padding-inline: 26px;
        }

        .pg-yc-store-badges {
            gap: 8px;
        }

        .pg-yc-store-badges img {
            height: 38px;
        }

        .pg-yc-store-note {
            max-width: 290px;
            font-size: 0.8rem;
        }
    }


/* Bei gedrehtem Bildschirm landscape App Screenshot ausblenden */
@media (max-width: 782px) and (orientation: landscape) {
    .app-phone-mockup {
        display: none;
    }
}