/* --------------------------------------------------
   Header
--------------------------------------------------- */

.site-header{

    background:#fff;
    border-bottom:1px solid #e5e7eb;

}

.site-header .container{

    display:flex;
    justify-content:space-between;
    align-items:center;
    height:80px;

}

.logo{

    font-size:28px;
    font-weight:700;
    color:var(--primary);

}

/* --------------------------------------------------
   Footer
--------------------------------------------------- */

.site-footer{

    background:var(--primary);
    color:rgba(255,255,255,.78);
    padding:28px 0;
    border-top:1px solid rgba(255,255,255,.10);

}

.site-footer-inner{

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

}

.site-footer-copyright{

    margin:0;
    color:rgba(255,255,255,.82);
    font-size:14px;
    line-height:1.5;

}

.site-footer-nav{

    min-width:0;

}

.site-footer-menu{

    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:0;
    margin:0;
    padding:0;
    list-style:none;

}

.site-footer-menu li{

    display:flex;
    align-items:center;
    margin:0;

}

.site-footer-menu li + li::before{

    content:"·";
    margin:0 10px;
    color:rgba(255,255,255,.36);

}

.site-footer-menu a{

    color:rgba(255,255,255,.78);
    font-size:14px;
    line-height:1.5;
    text-decoration:none;
    transition:color .2s ease;

}

.site-footer-menu a:hover,
.site-footer-menu a:focus-visible{

    color:#D4AF37;

}

.site-footer-menu a:focus-visible{

    outline:2px solid #D4AF37;
    outline-offset:4px;
    border-radius:4px;

}

@media(max-width:760px){

    .site-footer{

        padding:24px 0;

    }

    .site-footer-inner{

        flex-direction:column;
        justify-content:center;
        gap:12px;
        text-align:center;

    }

    .site-footer-menu{

        justify-content:center;
        row-gap:8px;

    }

    .site-footer-menu a{

        display:inline-flex;
        align-items:center;
        min-height:34px;

    }

}

/* --------------------------------------------------
   Standardseiten
--------------------------------------------------- */

.site-page{

    background:#F8FAFC;
    padding:64px 0 78px;

}

.site-page-inner{

    max-width:920px;

}

.site-page-article{

    margin:0;

}

.site-page-header{

    margin-bottom:28px;

}

.site-page-title{

    margin:0;
    color:var(--primary);
    font-family:Poppins,Arial,sans-serif;
    font-size:clamp(2.1rem,4vw,3.5rem);
    line-height:1.12;

}

.site-page-content{

    color:var(--text);
    font-size:17px;
    line-height:1.75;

}

.site-page-content > * + *{

    margin-block-start:1.15em;

}

.site-page-content :where(h2,h3,h4){

    margin-block-start:1.65em;
    margin-block-end:.55em;
    color:var(--primary);
    line-height:1.22;

}

.site-page-content a{

    color:#1D4ED8;
    text-decoration:underline;
    text-underline-offset:3px;

}

.site-page-content a:hover,
.site-page-content a:focus-visible{

    color:#D4AF37;

}

@media(max-width:760px){

    .site-page{

        padding:42px 0 56px;

    }

    .site-page-header{

        margin-bottom:22px;

    }

    .site-page-content{

        font-size:16px;

    }

}

/* --------------------------------------------------
   Allgemein
--------------------------------------------------- */

section{

    padding:25px 0;

}

.section-title{

    max-width:760px;
    margin:0 auto 60px;
    text-align:center;

}

.section-title h2{

    font-size:42px;
    margin-bottom:20px;

}

.section-title p{

    font-size:20px;
    color:#64748b;

}

/* --------------------------------------------------
   Hero
--------------------------------------------------- */

.hero{

    padding:90px 0;

}

.hero-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;

}

.hero-badge{

    display:inline-block;
    padding:8px 18px;
    background:#eef4ff;
    color:var(--secondary);
    border-radius:30px;
    font-size:14px;
    margin-bottom:25px;

}

.hero h1{

    font-size:58px;
    line-height:1.1;
    margin-bottom:25px;

}

.hero p{

    font-size:20px;
    margin-bottom:40px;
    max-width:560px;

}

.hero-image img{

    border-radius:24px;
    box-shadow:0 30px 60px rgba(0,0,0,.15);

}

.btn-primary{

    display:inline-block;
    padding:18px 34px;
    border-radius:12px;
    background:var(--secondary);
    color:#fff;
    font-weight:600;
    transition:.3s;

}

.btn-primary:hover{

    background:var(--primary);

}

/* --------------------------------------------------
   Features
--------------------------------------------------- */

.feature-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;

}

.feature-card{

    background:#fff;
    padding:40px;
    border-radius:22px;
    box-shadow:0 10px 35px rgba(15,23,42,.08);
    transition:.3s;

}

.feature-card:hover{

    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(15,23,42,.15);

}

.feature-icon{

    font-size:48px;
    margin-bottom:20px;

}

.feature-card h3{

    margin-bottom:18px;

}

.feature-card p{

    color:#64748b;
    line-height:1.8;

}

/* --------------------------------------------------
   Projekte
--------------------------------------------------- */

.projects{

    background:#fff;

}

.project-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;

}

.project-card{

    background:#fff;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(15,23,42,.08);
    transition:.35s;

}

.project-card:hover{

    transform:translateY(-10px);
    box-shadow:0 25px 55px rgba(15,23,42,.15);

}

.project-image img{

    width:100%;
    height:240px;
    object-fit:cover;

}

/* ---------- Projektlogo ---------- */

.project-logo{

    width:90px;
    height:90px;

    margin:-45px auto 20px;

    position:relative;
    z-index:10;

    background:#fff;

    border-radius:18px;

    display:flex;
    justify-content:center;
    align-items:center;

    box-shadow:0 8px 20px rgba(15,23,42,.10);

}

.project-logo img{

    max-width:75%;
    max-height:75%;

    object-fit:contain;

}

.project-content{

    padding:30px;
    text-align:center;

}

.project-category{

    display:inline-block;

    margin-bottom:12px;

    color:var(--secondary);

    font-size:13px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.project-content h3{

    margin-bottom:15px;

}

.project-content p{

    margin-bottom:30px;

    color:#64748b;

    line-height:1.7;

}

.btn-secondary{

    display:inline-block;

    color:var(--secondary);

    font-weight:600;

    transition:.3s;

}

.btn-secondary:hover{

    color:var(--primary);

}
