:root {
    --primary: #ff6b00; /* Kräftiges Orange */
    --secondary: #003366; /* Dunkelblau */
    --text: #333;
    --bg-gray: #f4f6f8;
    --white: #ffffff;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Roboto', sans-serif;
    color: var(--text);
    line-height: 1.6;
    background-color: var(--white);
}

/* Demo Bar */
.demo-bar {
    background: #222;
    color: #fff;
    padding: 8px;
    text-align: center;
    font-size: 0.85rem;
    position: relative;
    z-index: 10001;
}
.demo-bar a { color: var(--primary); text-decoration: none; margin-left: 10px; font-weight: bold; }

/* Top Bar */
.top-bar { background: var(--secondary); color: #fff; padding: 10px 0; font-size: 0.9rem; }
.top-flex { display: flex; justify-content: flex-end; gap: 20px; }
.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

/* Nav */
nav { background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,0.1); padding: 15px 0; position: sticky; top: 0; z-index: 1000; }
.nav-flex { display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 1.8rem; font-weight: 900; color: var(--secondary); }
.highlight { color: var(--primary); }
.nav-links { list-style: none; display: flex; align-items: center; gap: 25px; }
.nav-links a { text-decoration: none; color: var(--secondary); font-weight: 500; font-size: 1rem; }
.cta-btn { background: var(--primary); color: #fff !important; padding: 10px 20px; border-radius: 4px; transition: 0.3s; }
.cta-btn:hover { background: #e65c00; }

/* Hero */
header {
    height: 600px;
    background: url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?ixlib=rb-1.2.1&auto=format&fit=crop&w=1920&q=80') center/cover no-repeat;
    position: relative;
    display: flex;
    align-items: center;
}
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(0,51,102,0.9) 0%, rgba(0,51,102,0.4) 100%); }
.hero-content { position: relative; z-index: 2; color: #fff; max-width: 600px; margin-left: 0; /* Left aligned in container */ }
.hero-content h1 { font-size: 3rem; margin-bottom: 20px; line-height: 1.2; }
.hero-content p { font-size: 1.1rem; margin-bottom: 30px; opacity: 0.9; }

.btn { display: inline-block; padding: 12px 30px; border-radius: 4px; text-decoration: none; font-weight: bold; transition: 0.3s; }
.btn-primary { background: var(--primary); color: #fff; margin-right: 10px; border: 2px solid var(--primary); }
.btn-primary:hover { background: #e65c00; border-color: #e65c00; }
.btn-secondary { background: transparent; border: 2px solid #fff; color: #fff; }
.btn-secondary:hover { background: #fff; color: var(--secondary); }
.btn-white { background: #fff; color: var(--primary); font-size: 1.1rem; }

/* Services */
.section { padding: 80px 0; }
.section-header { text-align: center; margin-bottom: 50px; }
.section-header h2 { font-size: 2.2rem; color: var(--secondary); margin-bottom: 10px; }
.divider { height: 4px; width: 60px; background: var(--primary); margin: 0 auto; }

.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.service-card { background: #fff; padding: 40px 30px; border: 1px solid #eee; text-align: center; transition: 0.3s; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.service-card:hover { transform: translateY(-5px); border-bottom: 4px solid var(--primary); }
.service-card i { font-size: 3rem; color: var(--primary); margin-bottom: 20px; }
.service-card h3 { color: var(--secondary); margin-bottom: 15px; }

/* Why Us */
.bg-gray { background: var(--bg-gray); }
.split { display: flex; align-items: center; gap: 50px; }
.image-box img { width: 100%; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.text-box h2 { font-size: 2.2rem; color: var(--secondary); margin-bottom: 20px; }
.check-list { list-style: none; }
.check-list li { margin-bottom: 15px; font-size: 1.1rem; display: flex; align-items: center; gap: 10px; }
.check-list i { color: var(--primary); }

/* CTA Section */
.cta-section { background: var(--primary); color: #fff; text-align: center; }
.cta-section h2 { font-size: 2.5rem; margin-bottom: 10px; }

/* Footer */
footer { background: #1a1a1a; color: #888; padding: 30px 0; text-align: center; font-size: 0.9rem; }
footer a { color: #fff; text-decoration: none; }

/* Mobile */
@media (max-width: 768px) {
    .top-bar { display: none; }
    .hero-content h1 { font-size: 2rem; }
    .split { flex-direction: column; }
    .nav-links { display: none; } /* Einfachheitshalber ausgeblendet für Mobil */
}
