.hero-wrapper {
    min-height: 110vh;
    width: 100%;

    padding-bottom: 10vh;
  
    position: relative;
    overflow-y: hidden;
    overflow-x: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* common styles for all blurred ovals */
.blurred-oval {
    position: absolute;
    border-radius: 50% / 100%;
    filter: blur(80px) saturate(0.6);
    opacity: 0.2;

    animation: moveOval 30s linear infinite alternate;
}

@keyframes moveOval {
    0%   { transform: translate(0px, 0px) rotate(36deg) scale(1); }
    25%  { transform: translate(80px, -40px) rotate(50deg) scale(1.03); }
    50%  { transform: translate(0px, -80px) rotate(70deg) scale(0.97); }
    75%  { transform: translate(-80px, -40px) rotate(50deg) scale(1.03); }
    100% { transform: translate(0px, 0px) rotate(36deg) scale(1); }
}

/* Oval 1 */
.oval1 {
    width: 655px;
    height: 480px;
    background: #1291aa;
    top: 30%;
    left: 0%;
    rotate:36deg;
    opacity:0.3;
}

/* Oval 2 */
.oval2 {
    width: 184px;
    height: 272px;
    background: #0A9396;
    top: 30%;
    left: 60%;
    rotate: 20deg;
    opacity:0.3
}

/* Oval 3 */
.oval3 {
    width: 656px;
    height: 414px;
    background: #F4A261;
    top: 50%;
    left: 20%;
    rotate: -15deg;
    opacity: 0.3;
}

/* Oval 4 */
.oval4 {
    width: 184px;
    height: 272px;
    background: #94D2BD;
    top: 70%;
    left: 45%;
    rotate: -40deg;
    opacity: 0.3;
}

/* Parent container for the Hero section, adjusts spacing on smaller screens */
.hero-container {
    z-index: 10;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;

    width: 100dvw;
}

.hero-title-container {
    gap: 18px;
}

.hero-subtitles-container {
    gap: 8px;
}

.hero-subtitles-container h3 {
    opacity: 0;
    transform: translateX(-30px);
    filter: blur(50px);
    animation: slideFadeIn 0.5s forwards;
}  

/* Stagger the subtitle animations */
.hero-subtitles-container h3:nth-child(1) {
    animation-delay: 1.4s;
}

.hero-subtitles-container h3:nth-child(2) {
    animation-delay: 1.7s;
}

.hero-subtitles-container h3:nth-child(3) {
    animation-delay: 2s;
}

/* Responsive profile picture */
.profile-picture {
    width: 270px;
    height: 270px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 
      0 69px 19px rgba(0,0,0,0),
      0 44px 18px rgba(0, 0, 0, 0.01),
      0 25px 15px rgba(0, 0, 0, 0.05),
      0 11px 11px rgba(0, 0, 0, 0.09),
      0 3px 6px rgba(0, 0, 0, 0.10);
    max-width: 100%;

    transform: scale(0);
    opacity: 0;
    filter: blur(100px);
    animation: scaleIn 0.6s forwards;
    animation-delay: 0s;
}

/* Hero Section */
.hero-title {
    opacity: 0;

    font-size: 60px;

    background: var(--hero-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    background-clip: text;
    color: transparent;
    filter: blur(50px);

    transform: scale(0);
    animation: scaleInBlur 0.6s forwards;
    animation-delay: 0.8s;
}

@media (max-width: 600px) {
    .hero-title {
        font-size: 36px;
    }
}

.hero-subtitle {
    margin: 10px;

    background:var(--hero-gradient);
    -webkit-background-clip: text;
    -moz-background-clip: text;
    -webkit-text-fill-color: transparent;
    -moz-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.25));
}

.hero-link-section {
    display: flex;
    flex-direction: column;

    gap: 10px;
}

.github-badge, .contact-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    background-color: rgba(30, 30, 30, 0.08);
    border-radius: 9999px;
    text-decoration: none;
    font-weight: 600;
    color: #24292f;
    
    /* Initial hidden state */
    transform: scale(0);
    opacity: 0;
  
    /* Animation */
    animation: scaleIn 0.6s forwards;
    animation-delay: 2.7s;
  
    transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.github-badge:hover, .contact-badge:hover {
    transform: scale(1.1);
    background-color: rgba(30, 30, 30, 0.15);
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.contact-badge {
    animation-delay: 3s;
}

.github-icon, .contact-icon {
    width: 1.4rem;
    height: 1.4rem;
    color: #24292f;
}

.github-text, .contact-text {
    font-size: 0.9rem;
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
    .github-badge, .contact-badge {
        background-color: rgba(255, 255, 255, 0.08);
        color: #fff;
    }
    .github-badge:hover, .contact-badge:hover {
        background-color: rgba(255, 255, 255, 0.15);
    }
    .github-icon, .contact-icon {
        color: #fff;
    }
}