/* ==========================
   Globales Basislayout
   ========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    height:100%;
}

body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f5f5;
}

main{
    flex:1;
    width:100%;
}

/* ==========================
   Platzhalterbereich
   ========================== */

.placeholder{
    width:100%;
    min-height:500px;
}

/* ===========
	rechtliche Seiten
	datenschutz und impressum 
	============= */

.legal-page{
    flex:1;
    width:100%;
    padding:50px 20px;
}

.legal-content{
    width:100%;
    max-width:1000px;
    margin:0 auto;
    background:#ffffff;
    padding:40px;
    border-radius:12px;
}

.legal-content h1{
    margin-bottom:30px;
    font-size:2rem;
}

.legal-content h2{
    margin-top:28px;
    margin-bottom:10px;
    font-size:1.25rem;
}

.legal-content p{
    margin-bottom:14px;
    line-height:1.6;
}

.legal-content a{
    color:#005a9c;
}

@media (max-width:768px){
    .legal-page{
        padding:30px 15px;
    }

    .legal-content{
        padding:25px 20px;
        border-radius:8px;
    }
}





/* ==========================================
   Startseite
   ========================================== */

.hero{
    width:100%;
    max-width:1000px;
    margin:0 auto;
    padding:80px 20px;
}

.hero h1{
    font-size:3rem;
    font-weight:700;
    margin-bottom:15px;
    line-height:1.2;
}

.hero h2{
    font-size:1.4rem;
    font-weight:400;
    margin-bottom:40px;
    color:#666;
}

.hero-video{
    width:100%;
    max-width:550px;
    margin:0 auto 40px auto;
}

.hero-video video{
    width:100%;
    height:auto;
    display:block;
    border-radius:12px;
}

.hero p{
    max-width:850px;
    font-size:1.1rem;
    line-height:1.8;
}

/* ==========================================
   Responsive
   ========================================== */

@media (max-width:768px){

    .hero{
        padding:50px 20px;
    }

    .hero h1{
        font-size:2.2rem;
    }

    .hero h2{
        font-size:1.2rem;
    }

    .hero p{
        font-size:1rem;
    }

}

.content-section{
    width:100%;
    max-width:1000px;
    margin:0 auto;
    padding:20px 20px 80px 20px;
}

.content-section h2{
    font-size:2rem;
    margin-bottom:25px;
    line-height:1.3;
}

.content-section p{
    margin-bottom:20px;
    line-height:1.8;
    font-size:1.1rem;
}

@media (max-width:768px){

    .content-section{
        padding:20px 20px 50px 20px;
    }

    .content-section h2{
        font-size:1.6rem;
    }

    .content-section p{
        font-size:1rem;
    }

}

/* ==========================
   Leistungsbereiche
   ========================== */

.services{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:40px;
    margin-top:40px;
}

.service-item{
    background:#ffffff;
    padding:30px;
    border-radius:12px;
}

.service-item h3{
    margin-bottom:15px;
    font-size:1.5rem;
}

.service-item p{
    font-size:1rem;
    line-height:1.7;
}

@media (max-width:900px){

    .services{
        grid-template-columns:1fr;
        gap:25px;
    }

}

/* ==========================
   Call-to-Action
   ========================== */

.cta-section{
    width:100%;
    max-width:1000px;
    margin:0 auto 80px auto;
    padding:50px 40px;
    background:#222;
    color:#ffffff;
    border-radius:12px;
    text-align:center;
}

.cta-section h2{
    font-size:2rem;
    margin-bottom:20px;
}

.cta-section p{
    max-width:760px;
    margin:0 auto 30px auto;
    font-size:1.1rem;
    line-height:1.7;
}

.cta-button{
    display:inline-block;
    padding:14px 28px;
    background:#ffffff;
    color:#222;
    text-decoration:none;
    border-radius:6px;
    font-weight:700;
}

.cta-button:hover{
    background:#f0f0f0;
}

@media (max-width:768px){

    .cta-section{
        margin:0 20px 60px 20px;
        padding:35px 25px;
        width:auto;
    }

    .cta-section h2{
        font-size:1.6rem;
    }

    .cta-section p{
        font-size:1rem;
    }

}