#titolo {
    min-height: 84vh;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 70px 32px 48px;

    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at top,
            rgba(180,35,35,0.22),
            transparent 55%
        ),

        linear-gradient(
            to bottom,
            rgba(25,9,9,0.65) 20%,
            rgba(0, 0, 0, 0.90) 46%,
            rgba(18,9,9,0.75) 100%
        ),

        url("../images/sfondo.avif");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.cta-wrap {
    display: flex;
    justify-content: center;
    margin: 0 0 48px 0;
}

.cta-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 14px 26px;

    font-family: var(--common-font-title);
    font-size: 0.9rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    color: var(--common-primary);
    background: rgba(216, 179, 90, 0.06);

    border: 1px solid rgba(216, 179, 90, 0.25);

    transition:
        transform 0.25s ease,
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.cta-btn:hover {
    color: var(--common-text);
    background: rgba(216, 179, 90, 0.12);
    border-color: var(--common-primary);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}

.cta-btn::after {
    content: '';
    position: absolute;

    left: 12%;
    right: 12%;
    bottom: 8px;

    height: 1px;

    background: var(--common-primary);

    transform: scaleX(0);
    transform-origin: center;

    transition: transform 0.25s ease;
}

.cta-btn:hover::after {
    transform: scaleX(1);
}