footer {
    background-color: #121212;
    color: var(--white, #ffffff);
    padding: 3.125vw 0 1.563vw 0;
    margin-top: auto;
    width: 100%;
    border-top: 0.208vw solid var(--primary-color, #8A4FFF);
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(13.021vw, auto));
    gap: 2.083vw;
    margin-bottom: 2.604vw;
}

.footer-section h4 {
    color: var(--primary-color, #8A4FFF);
    margin-bottom: 1.302vw;
    font-size: 1.083vw;
    text-transform: uppercase;
    letter-spacing: 0.052vw;
}

.footer-section p,
.footer-section li {
    font-size: 0.792vw;
    color: #aaaaaa;
    margin-bottom: 0.625vw;
}

.footer-section ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-section ul li a {
    text-decoration: none;
    color: #aaaaaa;
    cursor: pointer;
}

.footer-section ul li a:hover {
    color: var(--primary-color, #8A4FFF);
    transition: color 0.3s;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 0.521vw;
    margin-bottom: 0.781vw;
}

.contact-item .material-symbols-outlined {
    color: var(--primary-color, #8A4FFF);
    font-size: 1.042vw;
}

.contact-item p {
    margin-bottom: 0;
}

.footer-bottom {
    text-align: center;
    padding-top: 1.563vw;
    border-top: 0.052vw solid #222222;
    font-size: 0.708vw;
    color: #555555;
}