
:root{ --brand-700:#1E3A5F; --brand-500:#005B82; --accent-500:#00A0B0; --neutral-50:#F1F5F9; --text-900:#1E293B; --text-700:#334155; --radius:12px; --shadow:0 8px 24px rgba(0,0,0,.08); }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--text-900);background:#fff}
h1,h2,h3{font-family:Poppins,Inter,sans-serif;line-height:1.2;margin:0 0 .5rem} p{line-height:1.7;margin:.5rem 0 1rem}
.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem}
.section{padding:4rem 0} .section.alt{background:var(--neutral-50)}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e7eb;z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px}
.main-nav{display:flex;align-items:center;gap:.75rem}
.main-nav a{color:var(--text-700);text-decoration:none;font-weight:500;padding:.5rem .25rem}
.nav-toggle{display:none;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.35rem .6rem}
.brand img{display:block}
.hero{padding:3rem 0 2rem;background:linear-gradient(90deg,#ffffff, #F7FBFD)}
.hero-text .lead{font-size:1.125rem;color:var(--text-700)}
.hero-visual{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center}
.hero-visual img{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}
.card img{width:100%;height:auto;border-radius:8px;margin-bottom:.5rem}
.card h3{margin:.25rem 0 .25rem}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.value{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);padding:1rem}
.facts{list-style:none;padding:0;margin:0 0 1rem} .facts li{margin:.25rem 0}
.team{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.team-card{border:1px solid #e5e7eb;border-radius:var(--radius);padding:1rem;background:#fff}
.jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.job-card{border:1px solid #e5e7eb;border-radius:var(--radius);padding:1rem;background:#fff;display:flex;flex-direction:column;gap:.5rem}
.checklist{padding-left:1rem} .checklist li{margin:.35rem 0}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form label{display:flex;flex-direction:column;font-weight:600;color:var(--text-700)}
.contact-form input,.contact-form textarea{margin-top:.35rem;padding:.65rem;border:1px solid #cbd5e1;border-radius:8px;font:inherit}
.contact-form button{grid-column:1/-1}
.site-footer{border-top:1px solid #e5e7eb;padding:2rem 0;background:#fff;margin-top:2rem}
.footer-grid{display:grid;grid-template-columns:1fr auto;align-items:center}
.footer-nav a{margin-left:1rem;color:var(--text-700);text-decoration:none}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:999px;font-weight:600;text-decoration:none;border:2px solid transparent;transition:.2s}
.btn-primary{background:var(--brand-500);color:#fff} .btn-primary:hover{background:#024c69}
.btn-outline{background:#fff;border-color:var(--brand-500);color:var(--brand-500)} .btn-outline:hover{background:#e6f7fb}
.btn-secondary{background:var(--accent-500);color:#fff} .btn-secondary:hover{background:#028a98}
.filters{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}
.accordion details{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin:.5rem 0}
@media (max-width:1024px){ .grid-2{grid-template-columns:1fr;gap:1.25rem} .card-grid{grid-template-columns:repeat(2,1fr)} .value-grid{grid-template-columns:repeat(2,1fr)} .jobs-grid{grid-template-columns:repeat(2,1fr)} .contact-form{grid-template-columns:1fr} .nav-toggle{display:block} .main-nav{display:none;position:absolute;top:64px;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem 1rem;flex-direction:column;margin:.5rem}
  .main-nav.open{display:flex}}
@media (max-width:640px){ .card-grid,.value-grid,.jobs-grid{grid-template-columns:1fr} }




/* ================================
   Keyfacts-Bild – Über-uns-Seite
   ================================ */

.keyfacts-figure {
  margin: 1.5rem 0 2rem;
}

.keyfacts-figure img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: var(--shadow);
  border: 1px solid #e5e7eb;
}

/* Screenreader-only (falls noch nicht vorhanden) */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* Mobile Optimierung */
@media (max-width: 768px) {
  .keyfacts-figure {
    margin: 1rem 0 1.5rem;
  }

  .keyfacts-figure img {
    border-radius: 10px;
  }
}


/* ================================
   ÜBER UNS LAYOUT (NEU)
   ================================ */

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}

/* Geschäftsführer Box */
.gf-box {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.gf-box img {
  width: 260px;
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.gf-text h3 {
  margin-bottom: 0.25rem;
}

/* ================================
   TRUST REIHE
   ================================ */

.trust-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
  margin-top: 3rem;
  flex-wrap: wrap;
  text-align: center;
}

.trust-item img {
  height: 230px;
  object-fit: contain;
}

.trust-item p {
  margin-top: 0.5rem;
  font-size: 0.9rem;
}

/* Qualitätssiegel größer */
.trust-item:nth-child(3) img,
.trust-item:nth-child(4) img {
  height: 230px;
}

/* MOBILE */
@media (max-width: 768px) {
  .about-grid {
    grid-template-columns: 1fr;
  }

  .gf-box {
    flex-direction: column;
    text-align: center;
  }

  .trust-row {
    gap: 1.5rem;
  }
}


/* ================================
   TRUST MIT BUTTONS
   ================================ */



/* Buttons unter Logos */
.trust-item .btn {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  padding: 0.4rem 0.8rem;
}

/* Qualitätssiegel größer darstellen */
.trust-item--seal img {
  height: 130px;
}

/* Abstand optimieren */
.trust-row {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3rem;
  margin-top: 3rem;
  flex-wrap: wrap;
}


/* ================================
   HERO MIT BILD
   ================================ */


.hero-image {
  position: relative;
  height: 540px;
  background: url('../img/stempel_herobild_1.png') right center / cover no-repeat;
  display: flex;
  align-items: center;
  color: white;
}

/* dunkler Verlauf für Lesbarkeit */

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.7) 0%,
    rgba(0, 0, 0, 0.45) 40%,
    rgba(0, 0, 0, 0.05) 80%
  );
}

/* Inhalt */


.hero-content {
  position: relative;
  max-width: 550px;
}


.hero-content h1 {
  font-size: 2.8rem;
  font-weight: 700;
}

.hero-content .lead {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}

.hero-badge {
  margin-top: 1rem;
  font-weight: 600;
}


/* ================================
   HERO BUTTONS EINHEITLICH
   ================================ */

.hero .btn-primary,
.hero .btn-outline {
  background: var(--brand-500);
  color: white;
  border: none;
}

/* Hover-Effekt */
.hero .btn-primary:hover,
.hero .btn-outline:hover {
  background: #013d57;
}

/* Mobile */

@media (max-width: 768px) {
  .hero-image {
    height: 420px;
    background-position: center;
    text-align: center;
  }

  .hero-content {
    margin: 0 auto;
  }
}


/* HERO FIX LEFT ALIGN */
.hero .container {
  text-align: left;
}

.hero-content {
  margin: 0;
  max-width: 550px;
}


/* HERO FIX */
.hero {
  display: flex;
  align-items: center;
}

.hero .container {
  display: flex;
  justify-content: flex-start;  /* DAS IST DER KEY */
}

.hero-content {
  margin: 0;
  text-align: left;
  max-width: 550px;
}


.section {
  padding: 5rem 0;
}


.card {
  transition: transform 0.2s ease;
}

.card:hover {
  transform: translateY(-5px);
}



.section {
  padding: 5rem 0;
}


h1 {
  font-size: 2.8rem;
}

h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}



.trust-row {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e7eb;
}


.card {
  transition: all 0.2s ease;
}

.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}



.hero-content {
  margin-top: 20px;
}


.hero-content h1 {
  max-width: 500px;
}



{
  transition: all 0.2s ease;
}


.hero-content {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease forwards;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


.btn {
  transition: all 0.2s ease;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}


.card {
  transition: all 0.25s ease;
}

.card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}


.trust-item img {
  transition: all 0.2s ease;
}

.trust-item img:hover {
  transform: scale(1.05);
}


.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}


.hero-overlay {
  animation: fadeOverlay 1.5s ease;
}

@keyframes fadeOverlay {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}



.hero-content {
  padding-top: 2.5rem;
}


.hero .container {
  padding-top: 1.5rem;
}


@media (max-width:768px){
  .hero .container {
    padding-top: 1.5rem;
  }
}

