:root{
      --bg:#0b0f17;
      --panel:#0f172a;
      --panel2:#111c33;
      --text:#e5e7eb;
      --muted:#a3a3a3;
      --brand:#ff7a18;   /* Akzent (z.B. Orange) */
      --brand2:#ffa24d;
      --line:rgba(255,255,255,.10);
      --shadow: 0 20px 60px rgba(0,0,0,.35);
      --radius: 18px;
      --max: 1140px;
    }
/* ***********************       Login Box          *******************************************************   */
.form-input {
    background-color: #ffffff;   /* weißer Hintergrund */
    color: #000000;              /* schwarze Schrift */
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
}
.form-input:focus {
    border-color: #66aaff;
    outline: none;
}


/* ***********************       Bilder           *******************************************************   */
.logo-img {
  max-height: 50px; 
  height: auto;
  width: auto;
  display: block;
}

.service-img {
  width: 100%;
  height: 180px; /* ein Tick höher für mehr Wirkung */
  border-radius: var(--radius);   /* <- gleiche Rundung wie Karten */
  overflow: hidden;
  margin-bottom: 12px;

  border: 1px solid var(--line);
  background: rgba(255,255,255,.05);
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;  /* <- doppelt abgesichert */
}

.blog-img {
  width: 100%;
  max-width: 380px;
  aspect-ratio: 1 / 1;

  border-radius: var(--radius);   
  overflow: hidden;
  margin-bottom: 12px;

  border: 1px solid var(--line);
  background: rgba(255,255,255,.05);
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
}

.blog-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: inherit;  /* <- doppelt abgesichert */
}

.blog-img-column img {
  width: 380px;
  border-radius: var(--radius);
  margin-bottom: 16px;
  height: 380px;
  object-fit: cover;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.03);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

.wissen-img {
  width: 100%;
  height: 100%;
  border-radius: var(--radius);   
  overflow: hidden;
  margin-bottom: 10px;

  border: 1px solid var(--line);
  background: rgba(255,255,255,.05);
  box-shadow: 0 12px 40px rgba(0,0,0,.25);
}

.wissen-img img {
  height: 100%;
  width: 100%;
  display: block;
  object-fit: cover;
}


.wissen-style {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 30px;
  }

  .wissen-style img {
    width: 200px;
    height: 200px;
    object-fit: contain; 
  }

.logo-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: center;
  padding: 12px 0;
}

.logo-item {
  height: 220px;                           /* einheitliche Höhe */
  padding: 18px 25px;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}

.logo-item img {
  height: 100%;
  width: auto;
  object-fit: contain;                     /* NIE verzerren */
  display: block;
  filter: brightness(0.92);                /* besser auf dunklem Hintergrund */
}






/* ***********************       Tabelle Produlkte            *******************************************************   */



.produkt-tabelle {
    border-collapse: collapse;
    width: 600px;
    margin-top: 20px;
}

.produkt-tabelle td,
.produkt-tabelle th {
    border: 1px solid #999;
    padding: 10px;
    text-align: left;
}









/* ***********************       Hero Box           *******************************************************   */


.hero-textbox {
  background: rgba(0, 0, 0, 0.80);
  padding: 24px;   
  border-radius: 18px;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);

  width: 100%;              
  box-sizing: border-box;    
}



*{box-sizing:border-box}
    

   html
    {
    scroll-behavior:smooth;
    height: 100%;
    }
    
      body{
      display: flex;
      flex-direction: column;
      height: 100%;
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
      color:var(--text);
      background: var(--bg);
      line-height:1.55;
     padding-top: 120px;
    }
     
	main {
  	flex: 1 0 auto;
	}  
  
       footer {
  	flex-shrink: 0;
	}
   


.card ul li {
  color: rgba(229,231,235,.78);
  font-weight: 400;
}


    a{color:inherit; text-decoration:none}
    img{max-width:100%; display:block}

    .container{max-width:var(--max); margin:0 auto; padding:0 20px}


    .btn{
      display:inline-flex; align-items:center; justify-content:center;
      gap:.55rem; padding:.9rem 1.1rem; border-radius:999px;
      background:linear-gradient(135deg,var(--brand),var(--brand2));
      color:#111827; font-weight:700; border:0; cursor:pointer;
      box-shadow: 0 10px 30px rgba(255,122,24,.20);
      transition: transform .15s ease, filter .15s ease;
      white-space:nowrap;
    }
    .btn:hover{transform: translateY(-1px); filter:saturate(1.05)}
    .btn.secondary{
      background: transparent; color:var(--text);
      border:1px solid var(--line);
      box-shadow:none;
    }

/* ***********************       Header          *******************************************************   */

 header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  backdrop-filter: blur(10px);
  background: rgba(11,15,23,.85);
  border-bottom: 1px solid var(--line);
 }
    .nav{
      height:72px; display:flex; align-items:center; justify-content:space-between;
      gap:16px;
    }
    .brand{
      display:flex; align-items:center; gap:10px;
      font-weight:900; letter-spacing:.2px;
    }
    .logo{
      width:36px; height:36px; border-radius:12px;
      background:linear-gradient(135deg,var(--brand),var(--brand2));
      box-shadow: 0 10px 25px rgba(255,122,24,.18);
      flex:0 0 auto;
    }
    nav ul{list-style:none; display:flex; gap:18px; padding:0; margin:0}
    nav a{color:rgba(229,231,235,.9); font-weight:600; font-size:14px}
    nav a:hover{color:#fff}

    .nav-actions{display:flex; gap:10px; align-items:center}
    .burger{
      display:none;
      width:56px; height:56px; border-radius:16px;
      font-size: 30px;
      border:1px solid var(--line); background:transparent; color:var(--text);
      cursor:pointer;
    }


.has-submenu {
  position: relative;
}

.has-submenu > a {
  position: relative;
  z-index: 2;
}

.submenu {
  display: none;
  position: absolute;
  top: calc(100% - 4px);  /* leicht überlappend, super benutzbar */
  left: 0;
  background: rgba(15,23,42,.95);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 15px 40px rgba(0,0,0,.35);
  padding: 8px 0;
  z-index: 1;
}

.submenu li a {
  display: block;
  padding: 10px 16px;
  min-width: 200px;
  color: rgba(229,231,235,.9);
  font-size: 14px;
  font-weight: 600;
}

.submenu li a:hover {
  background: rgba(255,255,255,.06);
  color: #fff;
}

/* Hover öffnen */
.has-submenu:hover > .submenu {
  display: block;
}

.mobile a.sub {
  padding-left: 20px;
  font-size: 14px;
  opacity: 0.8;
}


/* ***********************       Mobile menu           *******************************************************   */

    .mobile{
      display:none;
      border-top:1px solid var(--line);
      padding:14px 0 18px;
    }
    .mobile a{display:block; padding:10px 0; color:rgba(229,231,235,.92); font-weight:600}

    /* Hero */

.hero {
  padding: 54px 0 26px;

  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  width: 100%;
  min-height: 30vh;
}



    .hero-grid{
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:26px;
      align-items:stretch;
    }
    .kicker{
      display:inline-flex; gap:8px; align-items:center;
      padding:6px 10px; border:1px solid var(--line); border-radius:999px;
      color:rgba(229,231,235,.86); font-weight:700; font-size:12px;
      background: rgba(255,255,255,.03);
    }
    h1{font-size:48px; line-height:1.08; margin:14px 0 12px}
    .lead{font-size:18px; color:rgba(229,231,235,.85); max-width:58ch}
    .hero-ctas{display:flex; gap:12px; flex-wrap:wrap; margin:22px 0 14px}
    .trust{
      display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;
    }
    .pill{
      display:inline-flex; align-items:center; gap:8px;
      padding:8px 10px; border-radius:999px; border:1px solid var(--line);
      background: rgba(255,255,255,.03);
      color: rgba(229,231,235,.9);
      font-weight:700; font-size:12px;
    }
    .dot{width:8px; height:8px; border-radius:999px; background:var(--brand)}



.hero-card {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.80);  /* gleich wie hero-textbox */
  border-radius: var(--radius);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* kein Verlauf / keine Gitter-Ebene mehr */
.hero-card .media {
  display: none;
}

.hero-card .content {
  padding: 24px;
}





    .mini{
      display:grid; grid-template-columns:1fr 1fr; gap:10px;
      margin-top:10px;
    }
    .stat{
      padding:12px; border-radius:16px;
      border:1px solid var(--line);
      background: rgba(15,23,42,.45);
    }
    .stat b{display:block; font-size:14px}
    .stat span{display:block; font-size:12px; color:rgba(229,231,235,.74)}

    /* Sections */
    section{padding:54px 0}
    .section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px}
    h2{margin:0; font-size:28px; line-height:1.15}
    .sub{margin:6px 0 0; color:rgba(229,231,235,.78); max-width:70ch}

    .grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
    .grid2{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}

    .card{
      border:1px solid var(--line);
      background: rgba(255,255,255,.03);
      border-radius: var(--radius);
      padding:18px;
      box-shadow: 0 18px 55px rgba(0,0,0,.25);
    }

    .card h3{margin:0 0 8px; font-size:18px}
    .card p{margin:0; color:rgba(229,231,235,.78)}

    .icon{
      width:40px; height:40px; border-radius:14px;
      display:grid; place-items:center;
      background: rgba(255,122,24,.12);
      border:1px solid rgba(255,122,24,.25);
      margin-bottom:10px;
      font-weight:900;
      color: var(--brand2);
    }

    /* Portfolio / Logos */
    .logos{
      display:flex; gap:16px; flex-wrap:wrap; opacity:.9;
      padding:12px 0 0;
    }
    .logo-chip{
      padding:10px 12px; border-radius:999px;
      border:1px dashed rgba(255,255,255,.18);
      color:rgba(229,231,235,.75);
      font-weight:700; font-size:12px;
      background: rgba(255,255,255,.02);
    }

    /* Testimonials */
    .quote{
      font-size:16px; color:rgba(229,231,235,.86); margin:0 0 12px;
    }
    .who{display:flex; align-items:center; gap:10px}
    .avatar{
      width:36px; height:36px; border-radius:999px;
      background: linear-gradient(135deg, rgba(255,122,24,.6), rgba(255,255,255,.12));
      border:1px solid var(--line);
    }
    .who b{display:block; font-size:14px}
    .who span{display:block; font-size:12px; color:rgba(229,231,235,.65)}

    /* FAQ */
    details{
      border:1px solid var(--line);
      border-radius: var(--radius);
      background: rgba(255,255,255,.02);
      padding:14px 16px;
    }
    details + details{margin-top:10px}
    summary{
      cursor:pointer; font-weight:800;
      list-style:none;
    }
    summary::-webkit-details-marker{display:none}
    details p{margin:10px 0 0; color:rgba(229,231,235,.78)}

    /* Contact */
    form{display:grid; gap:10px}
    input, textarea{
      width:100%;
      padding:12px 12px;
      border-radius:14px;
      border:1px solid var(--line);
      background: rgba(15,23,42,.45);
      color: var(--text);
      outline:none;
    }
    input:focus, textarea:focus{border-color: rgba(255,122,24,.45)}
    textarea{min-height:120px; resize:vertical}

    footer{
      padding:34px 0;
      border-top:1px solid var(--line);
      color:rgba(229,231,235,.72);
    }
    .foot{
      display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap;
    }
    .small{font-size:12px; color:rgba(229,231,235,.65)}
    .links{display:flex; gap:12px; flex-wrap:wrap}
    .links a{color:rgba(229,231,235,.72)}
    .links a:hover{color:#fff}


/* ******************************************************************************************************* 920 */
    /* Responsive */



    @media (max-width: 920px){

      .hero-grid{grid-template-columns: 1fr; }
       h1{font-size:40px}
      .grid3{grid-template-columns:1fr}
      .grid2{grid-template-columns:1fr}
       nav ul{display:none}
      .burger{display:inline-grid; place-items:center}
      .mobile.open{display:block}
     .hero-card{display:none;}
	.hero-bg {
 	   min-height: 0;       /* Handy: einfach Inhalt bestimmen lassen */
	  }

  .logo-img {
    height: 50px;            /* Logo groß und lesbar */
    width: auto;
  }
    }

/* ******************************************************************************************************* 620 */

@media (max-width: 620px){
         h1{font-size:34px}

  .wissen-style img {
    width: 100px;
    height: 100px;
    object-fit: contain; 
  }



.logo-item {
    height: 120px;
    padding: 12px 18px;
  }

.blog-img-column img {
    width: 100%;
}

  .blog-img {
    max-width: 100%;
  } 


  /* NAV wird zweizeilig */
  .nav {
    height: auto;
    flex-wrap: wrap; 
    padding: 8px 0;
    align-items: center;
  }

  /* Logo links – erste Zeile */
  .brand {
    order: 1;
    flex: 1 1 auto;          /* nimmt den linken Platz ein */
    display: flex;
    align-items: center;
  }

  .logo-img {
    height: 50px;            /* Logo groß und lesbar */
    width: auto;
  }

  /* Burger rechts – erste Zeile */
  .burger {
    order: 2;
    width: 52px;
    height: 52px;
    font-size: 30px;
    display: inline-grid;
    place-items: center;
  }

  /* Buttons in die 2. Zeile */
  .nav-actions {
    order: 3;
    width: 100%;             /* komplett neue Zeile */
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 6px;
  }

  .nav-actions .btn {
    padding: 0.45rem 0.75rem;
    font-size: 13px;
  }

  /* Navigation im Menü bleibt */
  nav ul {
    display: none;
  }
}

