@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
  --color-primary: #2F73FF;
  --color-primary-light: #4C8EFF;
  --accent: darkblue;
  --color-bg-light: #FFFFFF;
  --color-bg-dark: #0E1117;
  --color-text-light: #0E1A2B;
  --color-text-dark: #FFFFFF;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Inter', sans-serif;
}

html { font-size: clamp(14px, 1.2vw, 16px); }

h1 > span{
    margin: 10px;
}
li, a, button {
    font-weight: 500;
    font-size: 16px;
    color: var(--color-dark);
    text-decoration: none;
}
header {
    padding: 30px 5%;
}
.navbar {
    background-color: #FFFFFF;
}

img.logo {
    cursor: pointer;
    width: 100px;
}
.nav__links li {
    padding: 0px 20px;
}
.nav__links li a{
    transition: all 0.3s ease 0s;
}
.nav__links li a:hover{
    color: var(--color-primary);
    text-decoration: var(--color-primary);
}
.nav-link {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding-bottom: 5px;
}
/* Das „unsichtbare“ Pseudo-Element als Linie */
.nav-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: currentColor; /* nutzt die Textfarbe */
  transition: all 0.3s ease;
  transform: translateX(-50%);
}
/* Hover-Effekt: Linie wächst von der Mitte nach außen */
.nav-link:hover::after {
  width: 100%;
}
.active {
    color: var(--color-primary) !important;
}

#navbarCollapse {
    background-color: var(--color-text-dark);
    margin-top: 5px;
}
a.navbar-brand {
    margin-top: 5px;
}

.about { padding-top: 2rem; padding-bottom: 3rem; }
.about-hero h1 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: .25rem; }
.muted { color: #6b7280; }
.small { font-size: .9rem; }

.about-section { margin-top: 2rem; }
.about-section h2 { font-size: 1.25rem; margin-bottom: .6rem; }

.about-cards {
  display: grid; gap: 1rem; 
  grid-template-columns: repeat(4, minmax(0,1fr));
}
@media (max-width: 1024px){ .about-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .about-cards { grid-template-columns: 1fr; } }

.about-cards .card {
  background: #fff; border: 1px solid #eef0f3; border-radius: 16px;
  padding: 1rem; transition: transform .18s ease, box-shadow .18s ease;
}
.about-cards .card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.06); }

.bullets { padding-left: 1rem; }
.bullets li { margin: .35rem 0; }

details { border: 1px solid #eef0f3; border-radius: 12px; padding: .7rem .9rem; margin: .6rem 0; background:#fff; }
details summary { cursor: pointer; font-weight: 600; }
details[open] { border-color: #e0e7ff; box-shadow: 0 4px 14px rgba(47,115,255,.06); }

.contact { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 720px){ .contact { grid-template-columns: 1fr; } }

.about-footer { margin-top: 2rem; border-top: 1px solid #eef0f3; padding-top: 1rem; }
.about a { color: var(--color-primary); text-decoration: none; }
.about a:hover { text-decoration: underline; }
