:root {
    --footer-bg: #bf3932;
}

.footer {
    background-color: var(--footer-bg);
    color: var(--color-white);
    padding: clamp(3rem, 8vw, 5rem) 1.5rem clamp(4rem, 10vw, 6rem);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.footer::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 0 0 50% 50% / 0 0 12% 12%;
    background: var(--footer-bg);
    transform: scaleX(1.2);
    z-index: 0;
}

.footer__inner {
    position: relative;
    z-index: 1;
    width: min(100%, 720px);
    margin: 0 auto;
    display: grid;
    gap: 16px;
}

.footer__social {
    display: inline-flex;
    gap: var(--space-sm);
    list-style: none;
    padding: 0;
    margin: 0 auto;
}

.footer__social .icon-link {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0;
    border: 0;
    background-color: #ffffff;
    color: var(--footer-bg);
    transition: background-color var(--transition-base), transform var(--transition-base);
}

.footer__social .icon-link:hover,
.footer__social .icon-link:focus-visible {
    background-color: rgba(255, 255, 255, 0.8);
    transform: translateY(-2px);
}

.footer__title {
    font-family: var(--header-font-family);
    font-weight: var(--font-weight-bold);
    font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem);
    letter-spacing: 0.18em;
    margin: 0;
}

.footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0;
    font-weight: var(--font-weight-medium);
    letter-spacing: 0.08em;
}

.footer__link {
    color: var(--color-white);
    text-transform: uppercase;
    text-decoration: none;
    transition: color var(--transition-base);
}

.footer__link:hover,
.footer__link:focus-visible {
    color: rgba(255, 255, 255, 0.85);
}
