/* ====================================
   RESET
==================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

body{
    background:#000;
    color:#fff;
    overflow-x:hidden;
}

/* ====================================
   TOPBAR
==================================== */

.topbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    padding:20px 40px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    z-index:1000;
    background:rgba(0,0,0,.5);
    backdrop-filter:blur(10px);
}

.logo{
    font-size:24px;
    font-weight:900;
    letter-spacing:2px;
}

.logo span{
    color:#1a61a3;
}

/* ====================================
   STARTSEITE
==================================== */

.hero{
    display:flex;
    height:100vh;
}

.panel{
    flex:1;
    position:relative;
    overflow:hidden;
    text-decoration:none;
    color:white;
    transition:.5s;
}

.panel:hover{
    flex:1.4;
}

.panel img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:grayscale(100%);
    transition:.6s;
}

.panel:hover img{
    filter:grayscale(0%);
    transform:scale(1.08);
}

.overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.65);
    transition:.3s;
}

.panel:hover .overlay{
    background:rgba(0,0,0,.35);
}

.content{
    position:absolute;
    bottom:40px;
    left:30px;
    z-index:2;
}

.content h2{
    font-size:40px;
    font-weight:900;
}

.center-title{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    font-size:8vw;
    font-weight:900;
    color:white;
    display:flex;
    align-items:center;
    gap:20px;
    pointer-events:none;
}

.center-title span{
    width:80px;
    height:8px;
    background:#1a61a3;
}

/* ====================================
   PAGE LAYOUT
==================================== */

.page-wrapper{
    min-height:100vh;
    padding:120px 20px 60px;
    display:flex;
    justify-content:center;
}

.page-card{
    width:100%;
    max-width:1200px;

    background:rgba(15,15,15,.9);

    border:1px solid #202020;
    border-radius:25px;

    overflow:hidden;

    box-shadow:
    0 20px 60px rgba(0,0,0,.5);

    backdrop-filter:blur(15px);
}

/* ====================================
   HERO BILD
==================================== */

.page-hero{
    height:450px;

    background-size:cover;
    background-position:center;

    position:relative;

    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
}

.page-hero-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.65);
}

.page-hero-content{
    position:relative;
    z-index:2;
    max-width:800px;
    padding:20px;
}

.page-hero-content h1{
    font-size:72px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;

    text-shadow:
    0 0 30px rgba(26,97,163,.5);
}

.page-hero-content p{
    margin-top:15px;
    color:#d0d0d0;
    font-size:18px;
}

/* ====================================
   CONTENT
==================================== */

.page-content{
    padding:50px;
}

.page-content h2{
    margin-bottom:20px;
}

/* ====================================
   KARTEN
==================================== */

.page-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.card-box{
    background:linear-gradient(
        145deg,
        #171717,
        #0f0f0f
    );

    border:1px solid #242424;

    padding:25px;

    border-radius:15px;

    transition:.3s;
}

.card-box:hover{
    transform:translateY(-5px);

    border-color:#1a61a3;

    box-shadow:
    0 0 25px rgba(26,97,163,.25);
}

.card-box h3{
    margin-bottom:10px;
}

.card-box p{
    color:#aaa;
    line-height:1.6;
}

/* ====================================
   KONTAKTFORMULAR
==================================== */

.contact-section{
    max-width:850px;
    margin:60px auto 0;

    padding:40px;

    background:linear-gradient(
        145deg,
        rgba(20,20,20,.95),
        rgba(10,10,10,.95)
    );

    border:1px solid #242424;
    border-radius:20px;

    box-shadow:
    0 0 30px rgba(26,97,163,.12);
}

.contact-section h2{
    font-size:40px;
    margin-bottom:10px;
}

.contact-section p{
    color:#aaa;
    margin-bottom:30px;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.form-group{
    margin-bottom:20px;
}

.form-group label{
    display:block;
    margin-bottom:8px;
    color:#bbb;
    font-weight:700;
}

.form-group input,
.form-group textarea{
    width:100%;
    padding:16px;

    background:#101010;

    border:1px solid #252525;
    border-radius:8px;

    color:white;
}

.form-group input:focus,
.form-group textarea:focus{
    outline:none;

    border-color:#1a61a3;

    box-shadow:
    0 0 15px rgba(26,97,163,.35);
}

.checkbox-group{
    display:flex;
    gap:10px;
    align-items:flex-start;
}

.contact-btn{
    width:100%;

    padding:18px;

    border:none;
    border-radius:10px;

    background:linear-gradient(
        135deg,
        #103487,
        #1a61a3
    );

    color:white;

    font-size:18px;
    font-weight:700;

    cursor:pointer;

    transition:.3s;
}

.contact-btn:hover{
    transform:translateY(-2px);

    box-shadow:
    0 0 25px rgba(26,97,163,.5);
}

/* ====================================
   FOOTER
==================================== */

.footer-section{
    margin-top:80px;

    padding:60px 20px;

    border-top:1px solid #1f1f1f;

    background:#080808;
}

.footer-content{
    max-width:1200px;
    margin:auto;
    text-align:center;
}

.footer-logo{
    font-size:30px;
    font-weight:900;
    margin-bottom:15px;
}

.footer-logo span{
    color:#1a61a3;
}

.footer-content p{
    color:#888;
    margin-bottom:25px;
}

.footer-links{
    display:flex;
    justify-content:center;
    gap:25px;
    flex-wrap:wrap;
    margin-bottom:25px;
}

.footer-links a{
    color:#aaa;
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:#1a61a3;
}

.footer-copy{
    color:#666;
}

/* ====================================
   MOBILE
==================================== */

@media(max-width:900px){

    .hero{
        flex-direction:column;
    }

    .center-title{
        font-size:12vw;
        flex-direction:column;
    }

    .page-grid{
        grid-template-columns:1fr;
    }

    .form-row{
        grid-template-columns:1fr;
    }

    .page-content{
        padding:30px;
    }

    .page-hero-content h1{
        font-size:42px;
    }

    .contact-btn{
        width:100%;
    }

}