.franck-modele-cta-wrapper {
    width: 100%;
}

.franck-modele-cta-wrapper--container .franck-modele-cta {
    border-radius: 28px;
    overflow: hidden;
}

.franck-modele-cta {
    width: 100%;
    position: relative;
}

.fmc-box {
    position: relative;
    overflow: hidden;

    max-width: 1120px;
    margin: 0 auto;

    border-radius: 32px;
    min-height: 340px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 70px 42px;

    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(8px);

    box-shadow:
        0 40px 120px rgba(0, 0, 0, 0.22),
        0 2px 10px rgba(0, 0, 0, 0.10);
}

.fmc-image,
.fmc-overlay {
    position: absolute;
    inset: 0;
}

.fmc-image {
    background-size: cover;
    background-position: center;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.fmc-box:hover .fmc-image {
    transform: scale(1.04);
}

.fmc-overlay {
    z-index: 2;
    backdrop-filter: blur(2px);
}

.fmc-content {
    position: relative;
    z-index: 3;
    max-width: 860px;
    margin: 0 auto;
}

.fmc-content h2 {
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: -0.04em;
    margin: 0 0 18px;
}

.fmc-content p {
    line-height: 1.65;
    margin: 0 0 32px;
}

.fmc-buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.fmc-buttons--center {
    justify-content: center;
}

.fmc-buttons--left {
    justify-content: flex-start;
}

.fmc-buttons--right {
    justify-content: flex-end;
}

.fmc-btn {
    min-height: 56px;
    padding: 0 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-decoration: none;
    border: 1px solid transparent;
    transition: all 0.3s ease;
}

.fmc-btn:hover {
    text-decoration: none;
}

.fmc-btn-primary {
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.20);
}

.fmc-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.30);
}

.fmc-btn-secondary {
    border: 1px solid;
}

.fmc-btn-secondary:hover {
    transform: translateY(-3px);
    background: rgba(255, 255, 255, 0.10);
}

@media (max-width: 1280px) {
    .fmc-box {
        margin-left: 42px;
        margin-right: 42px;
    }
}

@media (max-width: 767px) {
    .fmc-box {
        margin-left: 18px;
        margin-right: 18px;
        min-height: 320px;
        padding: 54px 22px;
        border-radius: 24px;
    }

    .fmc-content h2 {
        font-size: 32px !important;
    }

    .fmc-content p {
        font-size: 15px !important;
    }

    .fmc-buttons {
        flex-direction: column;
        align-items: stretch;
    }
}