/* ========================= */
/*        COLOR SYSTEM       */
/* ========================= */

:root {
  --bg-1: #050816;
  --bg-2: #0b1028;

  --primary: #00f5ff;
  --secondary: #ff00e5;
  --accent: #00ff88;

  --text: #ffffff;
  --card-bg: rgba(255, 255, 255, 0.06);
}

/* ========================= */
/*          GLOBAL           */
/* ========================= */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Segoe UI", Arial, sans-serif;
  background: linear-gradient(135deg, var(--bg-1), var(--bg-2));
  color: var(--text);
  min-height: 100vh;
}

/* ========================= */
/*          HEADER           */
/* ========================= */

header {
  text-align: center;
  padding: 50px 20px;
}

header h1 {
  font-size: 3rem;
  color: var(--primary);
  text-shadow:
    0 0 10px var(--primary),
    0 0 30px var(--secondary);
  animation: glow 2.5s infinite alternate;
}

header p {
  opacity: 0.8;
  margin-top: 10px;
}

/* Rundes Logo oben */
.logo {
  width: 140px;
  height: 140px;
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 15px;

  filter: drop-shadow(0 0 10px var(--primary));
  transition: 0.4s;
}

.logo:hover {
  transform: scale(1.05);
}

/* ========================= */
/*            NAV            */
/* ========================= */

nav {
  display: flex;
  justify-content: center;
  gap: 25px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
}

nav a {
  color: var(--text);
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
}

nav a:hover {
  color: var(--primary);
  text-shadow: 0 0 15px var(--primary);
  transform: scale(1.1);
}

/* ========================= */
/*           HERO            */
/* ========================= */

.hero {
  text-align: center;
  padding: 90px 20px;
  position: relative;
}

/* Rundes großes Logo */
.hero-logo {
  width: 220px;
  height: 220px;
  object-fit: cover;
  border-radius: 50%;

  margin-bottom: 25px;
  opacity: 0.95;

  filter:
    drop-shadow(0 0 20px var(--primary))
    drop-shadow(0 0 40px var(--secondary));

  transition: 0.5s;
}

.hero-logo:hover {
  transform: scale(1.08);

  filter:
    drop-shadow(0 0 30px var(--primary))
    drop-shadow(0 0 60px var(--secondary));
}

.hero h2 {
  font-size: 2.3rem;
  margin-bottom: 25px;
}

/* Button */
.hero button {
  padding: 14px 35px;
  border: none;
  border-radius: 40px;
  background: linear-gradient(45deg, var(--primary), var(--secondary));
  color: black;
  font-weight: bold;
  cursor: pointer;
  transition: 0.4s;
  box-shadow: 0 0 20px var(--primary);
}

.hero button:hover {
  transform: scale(1.15);
  box-shadow: 0 0 40px var(--secondary);
}

/* ========================= */
/*           CARDS           */
/* ========================= */

.container {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
  padding: 60px 20px;
}

.card {
  background: var(--card-bg);
  backdrop-filter: blur(18px);
  padding: 30px;
  width: 270px;
  border-radius: 20px;
  text-align: center;
  transition: 0.4s;
  border: 1px solid rgba(255,255,255,0.1);
  cursor: pointer;
}

.card:hover {
  transform: translateY(-15px) scale(1.06);
  box-shadow:
    0 0 20px var(--primary),
    0 0 40px var(--secondary);
}

/* ========================= */
/*           FOOTER          */
/* ========================= */

footer {
  text-align: center;
  padding: 25px;
  margin-top: 60px;
  background: rgba(0, 0, 0, 0.6);
}

footer a {
  color: var(--primary);
  text-decoration: none;
}

footer a:hover {
  text-shadow: 0 0 10px var(--primary);
}

/* ========================= */
/*         ANIMATION         */
/* ========================= */

@keyframes glow {
  from {
    text-shadow:
      0 0 10px var(--primary),
      0 0 20px var(--secondary);
  }
  to {
    text-shadow:
      0 0 25px var(--primary),
      0 0 50px var(--secondary);
  }
}