*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --size: 20px;
    --paddingX: 10em;
    --paddingY: 5em;
    --headerSize: 2em;
    --subtitleSize: 0.7em;
    background-color: #121212;
    color: white;
    font-family: Montserrat, serif;
    overflow: hidden;
}

main {
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: var(--paddingX) var(--paddingY);
    justify-content: space-around;
}

h1 {
    font-size: var(--headerSize);
}


img {
    width: var(--paddingY);
    height: auto;
    filter: drop-shadow(0 0 30px rgba(255, 255, 255, 0.8));
    animation: pulseIcon 5s infinite ease-in-out;
}

.gradient-text {
    color: transparent;
}

.gradient-container {
    display: flex;
    background-image: linear-gradient(
            90deg,
            #8d1eec,
            #ffc30c,
            #8d1eec,
            #ffc30c
    );
    -webkit-background-clip: text;
    background-clip: text;
    animation: excellenceGradient 5s linear infinite;
    background-size: 300% 100%;
}

p {
    font-size: var(--subtitleSize);
}




