/* Base */
* { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --primary-color:#2496ca; --primary-dark:#1e7aa8; --text-primary:#212529; --text-secondary:#495057;
  --bg-primary:#fff; --bg-secondary:#f8f9fa; --border-light:#f1f3f4; --border-color:#dee2e6;
  --shadow-sm:0 1px 3px rgba(0,0,0,.1); --shadow-md:0 4px 6px rgba(0,0,0,.1); --shadow-lg:0 10px 15px rgba(0,0,0,.1);
  --radius-lg:.75rem;
}
html,body { max-width:100%; overflow-x:hidden; }
body { font-family: Roboto, system-ui, -apple-system, Segoe UI, sans-serif; color:var(--text-primary); background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%); line-height:1.6; font-size:18px; }

/* Layout */
.container { max-width:1200px; width:100%; margin:0 auto; padding:0 2rem; }

/* Navbar */
.navbar { position:fixed; top:0; left:0; right:0; background:rgba(255,255,255,.98); border-bottom:1px solid var(--border-light); z-index:9999; backdrop-filter: blur(12px); }
.nav-container { max-width:1200px; margin:0 auto; padding:0 2rem; height:100px; display:flex; align-items:center; justify-content:space-between; }
.logo-img { height:80px; width:auto; }
.nav-menu { list-style:none; display:flex; gap:2rem; }
.nav-menu a { color:var(--text-secondary); text-decoration:none; position:relative; padding:.5rem 0; }
.nav-menu a:hover { color:var(--primary-color); }

/* Hero */
.hero { min-height:100vh; display:flex; align-items:center; background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%); padding-top:140px; }
.hero-container{ max-width:1200px; width:100%; margin:0 auto; padding:0 2rem; display:grid; grid-template-columns:1fr; justify-items:center; }
.hero-content{ text-align:center; }
.hero .hero-title { font-size:4.5rem; font-weight:900; color:var(--primary-color); text-transform:uppercase; letter-spacing:-.01em; line-height:1.06; }
.hero .hero-subtitle { font-size:1.5rem; color:var(--text-secondary); margin:.75rem 0 1rem; font-weight:700; }
.hero .hero-description { color:var(--text-secondary); font-size:1.2rem; max-width:900px; margin:0 auto; }

/* Emphasis lead text */
.lead { font-size:1.25rem; color:var(--text-primary); font-weight:500; }

/* Checklist */
.checklist { list-style:none; display:flex; flex-direction:column; gap:.6rem; max-width:880px; margin:1rem auto 0; padding:0; }
.checklist li { display:flex; align-items:center; gap:.6rem; color:var(--text-secondary); line-height:1.5; }
.checklist li i { color:var(--primary-color); font-size:1.1rem; line-height:1; transform:translateY(1px); flex-shrink:0; }

/* Info card wrapper to group checklist nicely */
.info-card { background:#fff; border:1px solid var(--border-color); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:1.25rem 1.5rem; max-width:960px; margin:1rem auto 0; }
.info-card h3 { font-size:1.05rem; letter-spacing:.2px; color:var(--text-primary); margin:0 0 .5rem; font-weight:800; text-transform:uppercase; }

/* Cards / Stats */
.job-stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:2rem; margin:2rem 0; }
.stat-card { background:#fff; padding:2rem; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); text-align:center; }
.stat-card i { font-size:2rem; color:var(--primary-color); margin-bottom:.75rem; }
.stat-card-number { font-size:2rem; font-weight:900; color:var(--primary-color); }
.stat-card-label { color:var(--text-secondary); }

/* Chips */
.category-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; margin:1rem 0 0; }
.chip { padding:.5rem .9rem; border-radius:999px; background:var(--bg-secondary); color:var(--text-secondary); border:1px solid var(--border-color); font-weight:600; font-size:.95rem; }

/* CTA */
.cta-button { display:inline-block; padding:1.4rem 3rem; background:var(--primary-color); color:#fff; border-radius:var(--radius-lg); text-decoration:none; font-weight:900; letter-spacing:.6px; box-shadow:0 14px 28px rgba(36,150,202,.25); }
.cta-button:hover { background:var(--primary-dark); transform:translateY(-3px); box-shadow:0 18px 34px rgba(36,150,202,.32); }

/* Footer */
.footer { background:var(--bg-secondary); border-top:1px solid var(--border-light); padding:2.5rem 0; margin-top:0; }
.footer .container { max-width:1200px; width:100%; margin:0 auto; padding:0 2rem; }
.footer h4 { font-size:1.1rem; font-weight:800; margin:0 0 .75rem; color:var(--text-primary); }
.footer a { color:var(--text-secondary); text-decoration:none; }
.footer a:hover { color:var(--primary-color); }
/* Footer grid columns */
.footer .footer-col { min-width:220px; }

/* Eliminiere eventuelle Lücken oberhalb des Footers */
.hero { margin-bottom:0; }

/* Arbeitsfelder Section */
.fields-section { padding:2.5rem 0 1.5rem; }
.fields-section .container { max-width:1200px; width:100%; margin:0 auto; padding:0 2rem; }
.fields-title { text-align:center; font-weight:900; font-size:2rem; letter-spacing:.2px; margin:0 0 1.25rem; color:var(--text-primary); }
.fields-sub { text-align:center; color:var(--text-secondary); margin:0 auto 1.75rem; max-width:900px; }
.fields-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.5rem; }
.field-group { background:#fff; border:1px solid var(--border-color); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:1rem 1.25rem; transition:background-color .2s ease, border-color .2s ease; }
.field-group h3 { font-size:1.05rem; font-weight:800; margin:0 0 .5rem; color:var(--text-primary); display:flex; align-items:center; gap:.5rem; }
.field-group { overflow:hidden; }
.field-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:.5rem .75rem; }
.field-list li { color:var(--text-secondary); padding:.34rem .55rem; border:1px solid var(--border-color); border-radius:6px; background:#fff; line-height:1.25; font-size:.8rem; white-space:normal; overflow-wrap:normal; word-break:normal; -webkit-hyphens:auto; -ms-hyphens:auto; hyphens:auto; }
/* Neutralisiere Farbdrehung auf Item-Ebene zugunsten farbiger Header-Badges */
.field-group .field-list li { background:#fff !important; border-color:var(--border-color) !important; color:var(--text-secondary) !important; }

/* Farbige Varianten für einzelne Arbeitsfelder-Chips (dezent, gute Lesbarkeit) */
/* Farbige Header-Badges je Kategorie-Gruppe */
.field-group h3 { display:inline-flex; align-items:center; gap:.5rem; padding:.2rem .5rem; border-radius:6px; }
/* Farbrotation für gesamte Boxen */
.fields-grid .field-group:nth-child(7n+1){ background:#E8F4FB; border-color:#D3ECFA; }
.fields-grid .field-group:nth-child(7n+2){ background:#E9F8F0; border-color:#D1F0E0; }
.fields-grid .field-group:nth-child(7n+3){ background:#FFF3E8; border-color:#FFE2C8; }
.fields-grid .field-group:nth-child(7n+4){ background:#F3ECFE; border-color:#E6D9FD; }
.fields-grid .field-group:nth-child(7n+5){ background:#FFF0F4; border-color:#FFD9E4; }
.fields-grid .field-group:nth-child(7n+6){ background:#EEF8FF; border-color:#D7EEFF; }
.fields-grid .field-group:nth-child(7n){   background:#EDF7F7; border-color:#D4EFEF; }

@media (min-width: 600px){
  .field-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap:.6rem .9rem; }
}

/* Back to top */
.back-to-top { position:fixed; right:24px; bottom:24px; z-index:1000; }
.back-to-top-btn { width:56px; height:56px; border:none; border-radius:50%; background:var(--primary-color); color:#fff; box-shadow:var(--shadow-md); cursor:pointer; }

/* Responsive */
@media (max-width:768px){
  .container{ padding:0 1rem; }
  .hero .hero-title{ font-size:2.5rem; }
  .nav-menu{ display:none; }
}

