:root {
  --primary-color: #0F0766;
  --secondary-color: #000957;
  --accent-color: #577BC1;
  --light-color: #F3F7FF;
  --dark-color: #070544;
  --gradient-primary: linear-gradient(135deg, #0F0766 0%, #344CB7 100%);
  --hover-color: #1A0E8A;
  --background-color: #FAFCFF;
  --text-color: #1A202C;
  --border-color: rgba(15, 7, 102, 0.25);
  --divider-color: rgba(15, 7, 102, 0.1);
  --shadow-color: rgba(15, 7, 102, 0.15);
  --highlight-color: #FFD23F;
  --main-font: 'Roboto Condensed', sans-serif;
  --alt-font: 'Roboto', sans-serif;
}

/* Neumorphism styles */
.neuro-card {
  background: var(--light-color);
  border-radius: 25px;
  box-shadow:
    15px 15px 25px var(--shadow-color),
    -15px -15px 25px rgba(255, 255, 255, 0.8);
  transition: all 0.3s ease;
}

.neuro-card:hover {
  box-shadow:
    10px 10px 20px var(--shadow-color),
    -10px -10px 20px rgba(255, 255, 255, 0.9);
}

.neuro-button {
  background: var(--primary-color);
  border-radius: 18px;
  box-shadow:
    10px 10px 20px var(--shadow-color),
    -5px -5px 15px rgba(255, 255, 255, 0.6);
  transition: all 0.3s ease;
  border: none;
}

.neuro-button:hover {
  box-shadow:
    5px 5px 10px var(--shadow-color),
    -3px -3px 8px rgba(255, 255, 255, 0.8);
  transform: translateY(1px);
}

.neuro-input {
  background: var(--light-color);
  border-radius: 15px;
  box-shadow:
    inset 8px 8px 15px var(--shadow-color),
    inset -8px -8px 15px rgba(255, 255, 255, 0.8);
  border: none;
  padding: 18px 25px;
  transition: all 0.3s ease;
}

.neuro-input:focus {
  box-shadow:
    inset 5px 5px 10px var(--shadow-color),
    inset -5px -5px 10px rgba(255, 255, 255, 0.9);
  outline: none;
}

/* Mobile menu */
.menu-toggle {
  display: none;
}

.menu-checkbox {
  display: none;
}

@media (max-width: 768px) {
  .menu-toggle {
    display: block;
    cursor: pointer;
    padding: 12px;
    border-radius: 10px;
    background: var(--light-color);
    box-shadow: 5px 5px 10px var(--shadow-color), -5px -5px 10px rgba(255, 255, 255, 0.8);
  }

  .navigation ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--light-color);
    flex-direction: column;
    box-shadow: 0 8px 20px var(--shadow-color);
    border-radius: 0 0 20px 20px;
  }

  .menu-checkbox:checked+.menu-toggle+.navigation ul {
    display: flex;
  }

  .navigation li {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid var(--border-color);
  }

  .navigation li:last-child {
    border-bottom: none;
  }
}

/* Background pattern */
.bg-pattern {
  background-image:
    radial-gradient(circle at 20% 80%, rgba(15, 7, 102, 0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(87, 123, 193, 0.08) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(255, 210, 63, 0.05) 0%, transparent 50%);
  background-size: 150px 150px, 200px 200px, 100px 100px;
  background-position: 0 0, 50px 50px, 100px 100px;
}