:root{
    /* --brand: #00328C; */
    --brand:#225E63;
    --brand-dark: #163c3f;
    /* --rot: #C00003; */
    --gold:#B89E54;
    --grau:#DEDEDE;
    --anchor-offset: 96px;
}


.anchor-offset { scroll-margin-top: var(--anchor-offset); }

body {
    background-color:var(--grau);
}
p, h1, h2, h3, h4, h5, a, span, button, ul, ol, div {
    /* font-family: 'Lato'; */
     font-family: 'Montserrat';
}
.rot {
    color:var(--rot) !important;
}
.gold {
    color:var(--gold) !important;
}
.petrol {
    color:var(--brand) !important;
}
.logo {
    max-width:150px;
    width:150px;
}
.btn-primary, .bg-primary {
    background-color:var(--brand) !important;
}
.text-primary, .link-primary, .stretched-link, section a {
    color:var(--brand) !important;
}
#mainNav .nav-link {
    text-transform: uppercase;
}
footer .nav-link {
    color:#FFFFFF;
}
.btn-primary {
    border:none;
}
.breadcrumb a {
  color:var(--brand-dark);
}
.btn-outline-primary {
  background-color:var(--brand);
  color:#FFFFFF !important;
  border:none;
}
.btn-outline-primary:hover {
   background-color:var(--brand-dark);
}
.btn-outline-primary a {
  color:#FFFFFF !important;
}
/* Hero */
.hero {
    position: relative;
    min-height: 70vh;
    display: grid;
    place-items: center;
    color: #fff;
    text-align: left;
    background: #0b1620 url("../images/header_startseite_maschinensaal.jpg") center/cover no-repeat; /* <-- ERSETZEN mit deinem Bild */
}
.hero::after{
    content:"";
    position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(6,11,20,.65) 0%, rgba(6,11,20,.35) 40%, rgba(6,11,20,.65) 100%);
}
.hero > .container { position: relative; z-index: 1; }
.hero h1 { font-weight: 700; letter-spacing:.2px; }
.hero .badge, .hero-sm .badge { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); }

.hero-sm{
      position:relative; min-height:38vh; display:grid; place-items:center; color:#fff;
      background-color:#0b1620;
      background-repeat: no-repeat;
      background-position: center;
      background-size:cover
    }
    .hero-sm::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,11,20,.65),rgba(6,11,20,.35) 40%,rgba(6,11,20,.65));}
    .hero-sm .container{position:relative; z-index:1;}

.kernkompetenzen-container section {
    border-top: 1px solid var(--grau);
    padding-top: 2rem;
}
.kernkompetenzen-container section:first-child {
    border:none;
    padding-top: 0rem;
}

.quote-slider{
    position:relative; overflow:hidden;
    min-height:120px; /* verhindert Sprünge */
  }
  .quote-slide{
    position:absolute; inset:0;
    display:flex;
    flex-direction:column;
    opacity:0; transform:translateX(12%);
    transition:transform 600ms ease, opacity 600ms ease;
    will-change:transform, opacity;
  }
  .quote-slide.is-active{
    opacity:1; transform:translateX(0);
  }
  .quote-slide.is-exiting{
    opacity:0; transform:translateX(-12%);
  }
  @media (prefers-reduced-motion: reduce){
    .quote-slide{ transition:none !important; transform:none !important; }
  }

/* Kacheln */
.feature-card{
    transition: transform .15s ease, box-shadow .15s ease;
    height: 100%;
}
.feature-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.12);
}

  .feature-card .card-header{
      background:var(--brand); color:#fff; border:0;
      min-height:2.6em; display:flex; align-items:center; justify-content:center; text-align:center;
    }
    .feature-card .card-header .h6{margin:0; line-height:1.2;}
    .feature-card .card-body a{font-weight:600;}

/* KPIs */
.kpi{
    font-weight: 700;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
}
.kpi small{ font-weight:400; font-size:.5em; opacity:.85; }

/* Footer */
footer { background:#0f1420; color:#cdd2db; }
footer a { color:#cdd2db; text-decoration:none; }
footer a:hover { color:#fff; text-decoration:underline; }
.kompetenzen-kachel {
  color:var(--brand-dark);
}

/* Case Cards */
    .case-card .badge{background: var(--gold);
    border: 1px solid rgba(13, 110, 253, .18);
    color: #FFFFFF;}
    .case-meta{ color:#6c757d; font-size:.95rem; }
    .quote{
      position: relative;
      padding-left:2.25rem;
      border-left:3px solid var(--brand);
    }
    .quote::before{
      content:"“"; position:absolute; left:.35rem; top:-.25rem;
      font-size:2.5rem; line-height:1; color:var(--brand); opacity:.7;
    }

    .carousel-control-prev,.carousel-control-next{ width:4rem; }
    .carousel-indicators [data-bs-target]{ background-color:var(--brand); }


  /* Bild-Rotator mit Crossfade + sanftem Zoom */
.case-rotator {
  position: relative;
  border-radius: .75rem;
  overflow: hidden;
}
.case-rotator .ratio { background:#000; }

.slide-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.02);                /* minimal reinzoomen für Ruhe */
  transition: opacity 800ms ease, transform 4800ms ease;
  will-change: opacity, transform;
}
.slide-img.is-active {
  opacity: 1;
  transform: scale(1);                    /* sanfter Zoom-out */
}

/* Wenn äußerer Slide nicht aktiv ist: Animation/Übergänge pausieren */
.carousel-item:not(.active) .slide-img {
  transition: none !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .slide-img,
  .slide-img.is-active {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* Abschnitt-Header-Banner */
    .sec-head{
      background:linear-gradient(90deg,var(--brand) 0%, rgba(34,94,99,.8) 70%, rgba(34,94,99,.6) 100%);
      color:#fff; border-radius:.75rem; overflow:hidden;
    }
    .sec-head h2{color:var(--gold);}

/* Quote */
    .quote{position:relative; padding-left:2.25rem; border-left:3px solid rgba(34,94,99,.35);}
    .quote::before{content:"“"; position:absolute; left:.35rem; top:-.25rem; font-size:2.5rem; line-height:1; color:var(--brand); opacity:.7;}

    /* Dezent geteilte Abschnitte */
    .section-split{border-top:1px solid var(--grau); padding-top:2rem;}

/* Parallax-Hintergrund für Ergebnisse */
.ergebnisse-parallax {
  position: relative;
  min-height: 30vh;
  background-image: url("/fileadmin/assets/images/bg_maschinensaal.jpg"); /* <-- dein Bild einsetzen */
  background-size: cover;
  background-position: center;
  background-attachment: fixed; /* Parallax-Effekt */
  color: #fff;
}

.bg-opacity-80 {
  --bs-bg-opacity: 0.8;
}

.ergebnisse-parallax .ergebnisse-overlay {
  position: relative;
  inset: 0;
  background: linear-gradient(0deg,
              rgba(22,60,63,.75) 0%,
              rgba(34,94,99,.35) 100%); /* Overlay in Brandfarben */
  padding: 2rem 0;
}

/* Mobile: kein fixed, um iOS-Bugs zu vermeiden */
@media (max-width: 991.98px) {
  .ergebnisse-parallax {
    background-attachment: scroll;
  }
}

.card-header h3 {
  min-height: 2.6em; /* Platz für 2 Zeilen */
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.feature-card {
  transition: transform .2s ease, box-shadow .2s ease;
}
.feature-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
}

.card-header {
  transition: background-color .2s ease;
}
.card:hover .card-header {
  background-color: var(--brand-dark) !important;
}

/* Tastatur-Fokus: hebt Karte und Header hervor */
.feature-card:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 .6rem 1.25rem rgba(0,0,0,.18),
              0 0 0 .2rem rgba(34,94,99,.25); /* Petrol-Glow */
  outline: 2px solid transparent;            /* sichert Sichtbarkeit in HC-Themes */
  outline-offset: 2px;
}
.feature-card:focus-within > .card-header {
  background-color: var(--brand-dark) !important;
}

/* Der eigentliche Link bekommt einen klaren Fokusrahmen */
.feature-card .stretched-link:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
  border-radius: .5rem; /* optische Ruhe */
  box-shadow: 0 0 0 .15rem rgba(184,158,84,.25);
}

/* Bewegungen reduzieren, wenn gewünscht */
@media (prefers-reduced-motion: reduce) {
  .feature-card,
  .feature-card:hover,
  .feature-card:focus-within {
    transition: none;
    transform: none;
  }
}

/* Tastatur-Fokus: hebt Karte und Header hervor */
.feature-card:focus-within {
  transform: translateY(-3px);
  box-shadow: 0 .6rem 1.25rem rgba(0,0,0,.18),
              0 0 0 .2rem rgba(34,94,99,.25); /* Petrol-Glow */
  outline: 2px solid transparent;            /* sichert Sichtbarkeit in HC-Themes */
  outline-offset: 2px;
}
.feature-card:focus-within > .card-header {
  background-color: var(--brand-dark) !important;
}

/* Der eigentliche Link bekommt einen klaren Fokusrahmen */
.feature-card .stretched-link:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
  border-radius: .5rem; /* optische Ruhe */
  box-shadow: 0 0 0 .15rem rgba(184,158,84,.25);
}

/* Bewegungen reduzieren, wenn gewünscht */
@media (prefers-reduced-motion: reduce) {
  .feature-card,
  .feature-card:hover,
  .feature-card:focus-within {
    transition: none;
    transform: none;
  }
}

h3.h4 {
    color: var(--brand-dark);
    margin-bottom: 30px;
}

@media(max-width:992px) {
  .carousel-indicators {
    bottom: -50px;
  }
}
