.credit {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.credit a {
    font-weight: 500;
    color: var(--color-gris-noir);
    opacity: 0.4;
    text-decoration: underline;
    transition: opacity .3s;
    font-size: clamp(0.7em, 2vw, .8em);
}

.credit a:hover {
    opacity: 1;
}

/* announcement banner */
#cfa-hero-announce {
    display: flex;
    justify-content: center;
    margin: 20px 0;
}

.cfa-hero-announce-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 26px;
    border-radius: 32px;
    background-color: var(--color-primary);
    border: var(--color-noir) 2.5px solid;
    color: var(--color-blanc);
    font-weight: 600;
    font-size: 1.05em;
    text-align: center;
    animation: cfa-announce-pulse 2.2s infinite;
    transition: transform 0.15s ease;
}

.cfa-hero-announce-badge:hover {
    transform: translateY(-2px);
}

@keyframes cfa-announce-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(204, 13, 13, 0.45);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(204, 13, 13, 0);
    }
}

@media (max-width: 700px) {
    .cfa-hero-announce-badge {
        font-size: 0.9em;
        padding: 10px 18px;
        text-align: center;
    }
}
