* {
    padding: 0%;
    margin: 0%;
    box-sizing: border-box;
}

.grain-bg {
  position: absolute;
  inset: 0;
  z-index: 4;
  opacity: 0.1; /* subtle grain */
  /* mix-blend-mode: overlay;  */
  pointer-events: none;
  overflow: hidden;
}

section {
    position: relative;
    height: 100vh;
    background-color: rgb(17, 17, 17);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.title h1 {
    font-family: Lexend;
    color: white;
    font-size: 4em;
    font-weight: 600;
}

.title h2 {
    font-family: Lexend;
    color: white;
    font-size: 1.3em;
    font-weight: 200;
}

.title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

/* Enhanced blob animations */
.blob {
    position: absolute;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent-color), var(--accent-secondary));
    opacity: 0.3;
    filter: blur(1px);
    z-index: -1;
    animation: moving 8s infinite ease-in-out alternate;
}

.blob:nth-child(1) {
    width: 15rem;
    height: 15rem;
    top: 10%;
    left: 10%;
    animation-delay: 0s;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.4), rgba(139, 92, 246, 0.4));
}

.blob:nth-child(2) {
    width: 12rem;
    height: 12rem;
    top: 60%;
    right: 15%;
    animation-delay: 2s;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.3), rgba(59, 130, 246, 0.3));
}

.blob:nth-child(3) {
    width: 8rem;
    height: 8rem;
    bottom: 20%;
    left: 20%;
    animation-delay: 4s;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(139, 92, 246, 0.2));
}

.blob:nth-child(4) {
    width: 10rem;
    height: 10rem;
    top: 30%;
    right: 30%;
    animation-delay: 6s;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.25), rgba(59, 130, 246, 0.25));
}

.blob:nth-child(5) {
    width: 6rem;
    height: 6rem;
    bottom: 40%;
    right: 10%;
    animation-delay: 1s;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.15), rgba(139, 92, 246, 0.15));
}

@keyframes moving {
    0% {
        transform: translate(-20%, -20%) scale(1);
    }
    25% {
        transform: translate(20%, -10%) scale(1.1);
    }
    50% {
        transform: translate(10%, 20%) scale(0.9);
    }
    75% {
        transform: translate(-15%, 15%) scale(1.05);
    }
    100% {
        transform: translate(-20%, -20%) scale(1);
    }
}

/* Floating animation for subtle movement */
@keyframes floating {
    0%, 100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* Add floating effect to some blobs */
.blob:nth-child(2),
.blob:nth-child(4) {
    animation: floating 6s ease-in-out infinite, moving 8s infinite ease-in-out alternate;
}

/* Contact section blobs - minimal movement */
#contact-me .blob {
    animation: subtle-moving 12s infinite ease-in-out alternate;
}

#contact-me .blob:nth-child(1) {
    animation-delay: 0s;
}

#contact-me .blob:nth-child(2) {
    animation-delay: 3s;
}

#contact-me .blob:nth-child(3) {
    animation-delay: 6s;
}

#contact-me .blob:nth-child(4) {
    animation-delay: 9s;
}

#contact-me .blob:nth-child(5) {
    animation-delay: 1.5s;
}

@keyframes subtle-moving {
    0% {
        transform: translate(-5%, -5%) scale(1);
    }
    100% {
        transform: translate(5%, 5%) scale(1.02);
    }
}

@media (max-width: 600px) {
    .blob::after {
        width: 160px;
    }
}