
/* =========================
   SECTION (FULL WIDTH)
========================= */
.neeb-komp-services{
  position:relative;
  overflow:hidden;

  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);

  padding:110px 24px;

  background:
    radial-gradient(circle at 10% 20%, rgba(8,72,99,.06), transparent 30%),
    radial-gradient(circle at 90% 80%, rgba(8,72,99,.04), transparent 30%),
    linear-gradient(180deg, #f7fbfd 0%, #ffffff 100%);
}

.neeb-komp-container{
  max-width:1100px;
  margin:0 auto;
}

/* =========================
   HEADER
========================= */
.neeb-komp-services-head{
  max-width:820px;
  margin:0 auto 56px;
  text-align:center;
}

.neeb-komp-services-head h2{
  margin:0 0 14px;
  font-size:46px;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.04em;
  color:#0f172a;
  text-wrap:balance;
}

.neeb-komp-services-head p{
  margin:0;
  font-size:18px;
  line-height:1.8;
  color:#586575;
}

/* =========================
   GRID
========================= */
.neeb-komp-services-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}

/* =========================
   CARD
========================= */
.neeb-komp-card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;

  padding:30px 26px 26px;
  border-radius:26px;

  background:linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%);
  border:1px solid rgba(8,72,99,.08);

  text-decoration:none;
  overflow:hidden;

  box-shadow:
    0 20px 50px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.7);

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

/* Shine Effekt */
.neeb-komp-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.25), transparent 40%);
  pointer-events:none;
}

/* Hover */
.neeb-komp-card:hover{
  transform:translateY(-6px) scale(1.01);
  border-color:rgba(8,72,99,.18);

  box-shadow:
    0 30px 70px rgba(15,23,42,.10),
    0 10px 30px rgba(8,72,99,.10);
}

/* =========================
   TYPO
========================= */
.neeb-komp-card h3{
  margin:0 0 12px;
  font-size:26px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
  color:#084863;

  text-wrap:balance;
  hyphens:auto;
  overflow-wrap:break-word;
}

.neeb-komp-card p{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:#5b6773;
}

/* Pfeil */
.neeb-komp-card::after{
  content:"→";
  margin-top:auto;
  font-size:16px;
  font-weight:700;
  color:#084863;
  transition:transform .2s ease;
}

.neeb-komp-card:hover::after{
  transform:translateX(4px);
}

/* =========================
   TABLET
========================= */
@media (max-width:1024px){
  .neeb-komp-services-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* =========================
   MOBILE
========================= */
@media (max-width:767px){

  .neeb-komp-services{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    padding:56px 16px;
  }

  .neeb-komp-services-head{
    text-align:left;
    margin-bottom:32px;
  }

  .neeb-komp-services-head h2{
    font-size:32px;
    line-height:1.08;
  }

  .neeb-komp-services-head p{
    font-size:15px;
    line-height:1.7;
  }

  .neeb-komp-services-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .neeb-komp-card{
    padding:22px 20px 20px;
    border-radius:22px;
  }

  .neeb-komp-card h3{
    font-size:22px;
  }

  .neeb-komp-card p{
    font-size:14px;
  }
}
