/* =========================
   GLOBAL
========================= */

body{
    font-family:'Inter',sans-serif;
    color:#1f2937;
    line-height:1.7;
    background:#ffffff;
    overflow-x:hidden;
}

html{
    scroll-behavior:smooth;
}

section{
    position:relative;
}

.container{
    position:relative;
    z-index:2;
}

/* =========================
   NAVBAR
========================= */

.custom-navbar{
    background:#0f172a;
    padding:16px 0;
    transition:0.3s;
    box-shadow:0 2px 15px rgba(0,0,0,0.08);
}

.navbar-brand{
    font-weight:700;
    color:white !important;
    font-size:1.1rem;
}

.nav-link{
    color:#e5e7eb !important;
    margin-left:18px;
    font-weight:500;
    transition:0.3s;
    position:relative;
}

.nav-link:hover{
    color:white !important;
}

.nav-link::after{
    content:"";
    position:absolute;
    width:0;
    height:2px;
    background:#60a5fa;
    left:0;
    bottom:-6px;
    transition:0.3s;
}

.nav-link:hover::after{
    width:100%;
}

/* =========================
   HERO
========================= */

.hero-section{
    height:72vh;
    min-height:560px;
    background:url('../images/hero.jpg') center/cover no-repeat;
    display:flex;
    align-items:center;
    position:relative;
}

.hero-overlay{
    position:absolute;
    width:100%;
    height:100%;
    background:linear-gradient(
        to right,
        rgba(15,23,42,0.95),
        rgba(30,41,59,0.86)
    );
}

.hero-content{
    position:relative;
    z-index:2;
}

.hero-badge{
    display:inline-block;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.14);
    color:#f8fafc;
    padding:10px 18px;
    border-radius:30px;
    font-size:0.92rem;
}

.hero-title{
    font-size:3.2rem;
    font-weight:700;
    line-height:1.2;
    color:white;
    margin-top:25px;
    max-width:720px;
}

.hero-text{
    font-size:1.08rem;
    color:#d1d5db;
    margin-top:22px;
    max-width:650px;
}

.hero-buttons{
    margin-top:35px;
}

.hero-buttons .btn{
    padding:13px 28px;
    font-weight:600;
    border-radius:12px;
    transition:0.3s;
}

/* BUTTONS */

.btn-success{
    background:#1e3a8a;
    border:none;
}

.btn-success:hover{
    background:#172554;
    transform:translateY(-2px);
}

.btn-light{
    background:white;
    border:none;
    color:#111827;
}

.btn-light:hover{
    background:#e5e7eb;
    transform:translateY(-2px);
}

/* =========================
   SECTION TITLES
========================= */

.section-title{
    font-size:2.45rem;
    font-weight:700;
    color:#0f172a;
}

.section-text{
    color:#6b7280;
    margin-top:12px;
    font-size:1.02rem;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
}

.small-badge{
    display:inline-block;
    background:#eef2ff;
    color:#1e3a8a;
    padding:8px 16px;
    border-radius:30px;
    font-weight:600;
    font-size:0.9rem;
}

/* =========================
   SERVICES
========================= */

#services{
    padding-top:90px;
    padding-bottom:90px;
}

.service-card{
    background:#ffffff;
    border-radius:24px;
    padding:40px 32px;
    border:1px solid #e5e7eb;
    box-shadow:0 10px 30px rgba(0,0,0,0.05);
    transition:0.35s;
    height:100%;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,0.08);
}

.service-icon{
    width:80px;
    height:80px;
    background:#f1f5f9;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:28px;
}

.service-icon i{
    color:#1e3a8a;
    font-size:2rem;
}

.service-card h4{
    font-weight:600;
    margin-bottom:18px;
    color:#111827;
}

.service-card p{
    color:#6b7280;
    margin-bottom:0;
}

/* =========================
   ANFRAGE
========================= */

.anfrage-section{
    background:#f8fafc;
    padding:90px 0;
}

.anfrage-btn{
    padding:14px 34px;
    border-radius:14px;
    font-weight:600;
}

.anfrage-box{
    background:white;
    border-radius:28px;
    padding:45px;
    border:1px solid #e5e7eb;
    box-shadow:0 15px 40px rgba(0,0,0,0.06);
}

.form-label{
    font-weight:600;
    color:#111827;
    margin-bottom:10px;
}

.form-control,
.form-select{
    height:56px;
    border-radius:14px;
    border:1px solid #d1d5db;
    padding:0 16px;
    box-shadow:none !important;
}

textarea.form-control{
    height:auto;
    padding:16px;
}

.form-control:focus,
.form-select:focus{
    border-color:#1e3a8a;
}

.service-checks{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:15px;
}

.form-check{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:14px 18px;
    min-width:210px;
}

.form-check-input{
    margin-right:10px;
}

.form-check-label{
    font-weight:500;
    color:#374151;
}

.form-note{
    font-size:0.9rem;
    color:#6b7280;
    text-align:center;
}

/* =========================
   ADVANTAGES
========================= */

.advantages-section{
    background:#111827;
    padding:90px 0;
}

.advantages-section .section-title{
    color:white;
}

.advantages-section p{
    color:#d1d5db;
}

.advantage-box{
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:24px;
    padding:38px 28px;
    height:100%;
    transition:0.3s;
}

.advantage-box:hover{
    transform:translateY(-8px);
}

.advantage-icon{
    width:75px;
    height:75px;
    background:rgba(255,255,255,0.08);
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 22px;
}

.advantage-icon i{
    color:white;
    font-size:1.8rem;
}

.advantage-box h5{
    color:white;
    margin-bottom:15px;
    font-weight:600;
}

.advantage-box p{
    color:#cbd5e1;
    margin-bottom:0;
}

/* =========================
   ABOUT
========================= */

.about-section{
    background:white;
    padding:90px 0;
}

.about-section img{
    border-radius:24px;
}

.about-text{
    color:#4b5563;
    margin-bottom:20px;
}

.about-features{
    margin-top:35px;
}

.about-feature{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
}

.about-feature i{
    color:#1e3a8a;
    font-size:1.2rem;
}

.about-feature span{
    color:#374151;
    font-weight:500;
}

/* =========================
   CONTACT
========================= */

.contact-section{
    padding:90px 0;
    background:#f8fafc;
}

.contact-box{
    background:#ffffff;
    border-radius:28px;
    padding:55px 40px;
    border:1px solid #e5e7eb;
    box-shadow:0 10px 30px rgba(0,0,0,0.04);
}

.contact-info{
    text-align:center;
}

.contact-icon{
    width:80px;
    height:80px;
    background:#eef2ff;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 22px;
}

.contact-icon i{
    color:#1e3a8a;
    font-size:1.9rem;
}

.contact-info h5{
    color:#111827;
    font-weight:600;
    margin-bottom:10px;
}

.contact-info p{
    color:#4b5563;
    margin-bottom:0;
    font-size:1.05rem;
}

/* =========================
   FOOTER
========================= */

.footer{
    background:#0f172a;
    color:white;
    padding:40px 0;
}

.footer p{
    margin-bottom:12px;
    color:#cbd5e1;
}

.footer-links{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:30px;
}

.footer a{
    color:#f8fafc;
    text-decoration:none;
    transition:0.3s;
}

.footer a:hover{
    color:#60a5fa;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

.hero-section{
    text-align:center;
    height:auto;
    padding:140px 0 100px;
}

.hero-title{
    font-size:2.7rem;
    margin:auto;
}

.hero-text{
    margin:auto;
    margin-top:22px;
}

}

@media(max-width:768px){

.hero-title{
    font-size:2.15rem;
}

.section-title{
    font-size:2rem;
}

.hero-buttons .btn{
    width:100%;
    margin-bottom:15px;
}

.anfrage-box{
    padding:30px 22px;
}

.form-check{
    width:100%;
}

.contact-box{
    padding:40px 25px;
}

.service-card{
    padding:35px 25px;
}

.footer-links{
    flex-direction:column;
    gap:10px;
}

}