/* ==========================================================================
   Page marche Republique centrafricaine (/centrafrique).
   La feuille Tailwind du template est pre-compilee : ce fichier ecrit a la
   main tout le style de la page, scope sous .rca.

   Motif directeur : une carte vectorielle de l'Afrique centrale, Republique
   centrafricaine remplie en couleur de marque et marqueur cale sur les vraies
   coordonnees de Bangui (voir partials/rca/map.blade.php). Les cadres en tirets
   reprennent le vocabulaire du hero d'accueil (.pxl-border-animated) pour rester
   dans la charte.
   ========================================================================== */

.rca {
    --rca-accent: var(--primary, #44aa9c);
    --rca-text: #ffffff;
    --rca-muted: rgba(255, 255, 255, 0.62);
    --rca-surface: rgba(255, 255, 255, 0.04);
    --rca-surface-strong: rgba(255, 255, 255, 0.07);
    --rca-border: rgba(255, 255, 255, 0.12);
    --rca-map-neighbour: rgba(255, 255, 255, 0.10);
    --rca-map-border: rgba(255, 255, 255, 0.30);
    --rca-radius: 14px;

    color: var(--rca-text);
    overflow: hidden;
}

html.light .rca {
    --rca-text: #191b1d;
    --rca-muted: rgba(25, 27, 29, 0.68);
    --rca-surface: #f7f9fb;
    --rca-surface-strong: #ffffff;
    --rca-border: rgba(25, 27, 29, 0.12);
    /* Aplat gris, frontieres blanches : c'est la convention des cartes de
       localisation, et elle rend chaque pays lisible sans avoir a le nommer. */
    --rca-map-neighbour: #dfe6eb;
    --rca-map-border: #ffffff;
}

/* ---------- Rythme vertical ---------- */

.rca-section {
    padding: 60px 0;
    position: relative;
}

.rca-section--tight {
    padding: 40px 0;
}

.rca-section--alt {
    background-color: var(--rca-surface);
}

@media (width >= 768px) {
    .rca-section {
        padding: 90px 0;
    }

    .rca-section--tight {
        padding: 55px 0;
    }
}

@media (width >= 1200px) {
    .rca-section {
        padding: 110px 0;
    }
}

/* ---------- Entetes de section ---------- */

.rca-head {
    max-width: 760px;
    margin: 0 auto 44px;
    text-align: center;
}

.rca-head--start {
    margin-left: 0;
    text-align: start;
}

.rca-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--rca-accent);
    margin-bottom: 12px;
}

.rca-eyebrow::before {
    content: "";
    width: 28px;
    height: 1px;
    background-color: currentcolor;
}

.rca-title {
    font-size: 26px;
    line-height: 1.28;
    font-weight: 600;
    margin: 0 0 14px;
    color: var(--rca-text);
}

.rca-lead {
    font-size: 16px;
    line-height: 1.75;
    color: var(--rca-muted);
    margin: 0;
}

@media (width >= 768px) {
    .rca-title {
        font-size: 34px;
    }

    .rca-lead {
        font-size: 17px;
    }
}

/* ---------- Boutons ---------- */

.rca-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid var(--rca-accent);
    background-color: var(--rca-accent);
    color: #ffffff;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.rca-btn:hover {
    background-color: transparent;
    color: var(--rca-accent);
}

.rca-btn--ghost {
    background-color: transparent;
    border-color: var(--rca-border);
    color: var(--rca-text);
}

.rca-btn--ghost:hover {
    border-color: var(--rca-accent);
    color: var(--rca-accent);
}

.rca-btn--light {
    background-color: #ffffff;
    border-color: #ffffff;
    color: #191b1d;
}

.rca-btn--light:hover {
    background-color: transparent;
    color: #ffffff;
}

.rca-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

/* Focus clavier : visible partout, y compris sur les cartes cliquables. */
.rca a:focus-visible,
.rca button:focus-visible {
    outline: 2px solid var(--rca-accent);
    outline-offset: 3px;
    border-radius: 4px;
}

/* ==========================================================================
   1. Hero — carte de l'Afrique centrale + marqueur Bangui
   ========================================================================== */

.rca-hero {
    position: relative;
    padding: 130px 0 60px;
    overflow: hidden;
}

@media (width >= 992px) {
    .rca-hero {
        padding: 210px 0 100px;
    }
}

.rca-hero__glow {
    position: absolute;
    top: -180px;
    right: -140px;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--rca-accent) 26%, transparent) 0%, transparent 68%);
    pointer-events: none;
}

.rca-hero > .container {
    position: relative;
    z-index: 2;
}

.rca-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
    align-items: center;
}

@media (width >= 992px) {
    .rca-hero__grid {
        grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
        gap: 50px;
    }
}

/* Au dela de 1400px la carte peut prendre le dessus : on lui laisse la moitie de
   la largeur mais on evite qu'elle depasse une taille lisible. */
@media (width >= 1400px) {
    .rca-hero__grid {
        grid-template-columns: minmax(0, 11fr) minmax(0, 13fr);
        gap: 60px;
    }
}

.rca-hero__title {
    font-size: 34px;
    line-height: 1.14;
    font-weight: 700;
    margin: 0 0 20px;
    color: var(--rca-text);
    max-width: 15ch;
}

@media (width >= 768px) {
    .rca-hero__title {
        font-size: 50px;
    }
}

@media (width >= 1200px) {
    .rca-hero__title {
        font-size: 62px;
    }
}

.rca-hero__lead {
    font-size: 16px;
    line-height: 1.8;
    color: var(--rca-muted);
    margin: 0;
    max-width: 58ch;
}

@media (width >= 768px) {
    .rca-hero__lead {
        font-size: 18px;
    }
}

/* Bandeau de confiance sous les boutons */
.rca-hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 40px;
    margin-top: 44px;
    padding-top: 30px;
    border-top: 1px dashed var(--rca-border);
}

.rca-trust__value {
    display: block;
    font-size: 32px;
    line-height: 1.1;
    font-weight: 700;
    color: var(--rca-accent);
}

.rca-trust__label {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    color: var(--rca-muted);
    max-width: 18ch;
}

/* Panneau carte + marqueur Bangui */
.rca-hero__panel {
    position: relative;
    padding: 14px;
    border: 1px dashed var(--rca-accent);
    border-radius: var(--rca-radius);
    background-color: var(--rca-surface);
}

@media (width >= 768px) {
    .rca-hero__panel {
        padding: 20px;
    }
}

/* Le ratio doit rester identique au viewBox de la carte (22 / 14) : c'est ce qui
   garantit que le marqueur, positionne en pourcentages, tombe exactement sur
   Bangui a toutes les largeurs d'ecran. */
.rca-hero__panel-media {
    position: relative;
    display: block;
    aspect-ratio: 22 / 14;
}

.rca-map {
    display: block;
    width: 100%;
    height: 100%;
}

/* vector-effect: non-scaling-stroke exprime stroke-width en PIXELS ecran, pas en
   unites du viewBox : les valeurs doivent donc etre de l'ordre de 1, pas de 0,06.
   C'est ce qui separe visuellement chaque pays de son voisin. */
.rca-map__neighbours path {
    fill: var(--rca-map-neighbour);
    stroke: var(--rca-map-border);
    stroke-width: 1.5;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.rca-map__focus path {
    fill: var(--rca-accent);
    stroke: var(--rca-map-border);
    stroke-width: 1.5;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.rca-marker {
    position: absolute;
    /* Coordonnees reelles de Bangui (4.3947 N, 18.5582 E) projetees dans le
       viewBox "10 -14 22 14" de la carte. Ne pas ajuster a l'oeil. */
    top: 68.61%;
    left: 38.64%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rca-marker__dot {
    position: relative;
    width: 14px;
    height: 14px;
    flex: none;
    border-radius: 50%;
    background-color: var(--rca-accent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--rca-accent) 25%, transparent);
}

.rca-marker__dot::after {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1px solid var(--rca-accent);
    animation: rca-pulse 2.4s ease-out infinite;
}

@keyframes rca-pulse {
    0% {
        transform: scale(0.6);
        opacity: 0.9;
    }

    100% {
        transform: scale(2.1);
        opacity: 0;
    }
}

.rca-marker__label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    padding: 5px 12px;
    border-radius: 999px;
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.55);
}

html.light .rca-marker__label {
    color: #ffffff;
    background-color: rgba(25, 27, 29, 0.78);
}

/* ==========================================================================
   2. Bandeau clients
   ========================================================================== */

.rca-clients__title {
    font-size: 13px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-align: center;
    color: var(--rca-muted);
    margin: 0 0 28px;
}

/* Ces entrees sont des personnes (interlocuteurs chez le client), pas des logos :
   pastille circulaire pleine, nom dessous. Pas de cadre — le cercle est la carte. */
.rca-clients {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 32px 40px;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (width >= 768px) {
    .rca-clients {
        gap: 36px 60px;
    }
}

.rca-client {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 130px;
    text-align: center;
    color: var(--rca-text);
}

@media (width >= 768px) {
    .rca-client {
        width: 160px;
    }
}

.rca-client__disc {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    overflow: hidden;
    border-radius: 50%;
    background-color: color-mix(in srgb, var(--rca-accent) 16%, transparent);
    /* L'anneau est dessine en box-shadow : aucune place occupee dans le flux,
       donc pas de decalage de mise en page au survol. */
    box-shadow: 0 0 0 1px var(--rca-border);
    transition: box-shadow 0.25s ease;
}

@media (width >= 768px) {
    .rca-client__disc {
        width: 120px;
        height: 120px;
    }
}

.rca-client__disc img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.rca-client__initials {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--rca-accent);
}

@media (width >= 768px) {
    .rca-client__initials {
        font-size: 30px;
    }
}

.rca-client__name {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    color: var(--rca-text);
    transition: color 0.25s ease;
}

@media (width >= 768px) {
    .rca-client__name {
        font-size: 15px;
    }
}

a.rca-client:hover .rca-client__disc {
    box-shadow: 0 0 0 2px var(--rca-accent);
}

a.rca-client:hover .rca-client__name {
    color: var(--rca-accent);
}

/* ==========================================================================
   3. Contexte marche
   ========================================================================== */

/* Traitement editorial : pas de cartes, pas de bordure accent. Un nombre, un
   libelle, un filet fin — la mise en page d'un rapport plutot qu'une grille de
   tuiles. L'accent reste reserve au sur-titre de section. */
.rca-figures {
    margin: 0 0 26px;
}

.rca-figure {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px 26px;
    padding: 20px 0;
    border-top: 1px solid var(--rca-border);
}

.rca-figure:last-child {
    border-bottom: 1px solid var(--rca-border);
}

@media (width >= 576px) {
    .rca-figure {
        grid-template-columns: 150px minmax(0, 1fr);
        align-items: baseline;
        padding: 22px 0;
    }
}

.rca-figure__value {
    font-size: 32px;
    line-height: 1.05;
    font-weight: 700;
    color: var(--rca-text);
    /* Les valeurs ne doivent jamais se couper (« 670 000 » sur deux lignes) et
       s'alignent verticalement d'une ligne a l'autre. */
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

@media (width >= 768px) {
    .rca-figure__value {
        font-size: 40px;
    }
}

.rca-figure__label {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: var(--rca-muted);
}

.rca-source {
    font-size: 13px;
    line-height: 1.7;
    color: var(--rca-muted);
    margin: 0;
}

.rca-source a {
    color: var(--rca-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rca-market__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 34px;
    align-items: start;
}

@media (width >= 992px) {
    .rca-market__grid {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 56px;
    }
}

/* ==========================================================================
   4. Realisations
   ========================================================================== */

.rca-projects {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}

@media (width >= 768px) {
    .rca-projects {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.rca-project {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--rca-border);
    border-radius: var(--rca-radius);
    background-color: var(--rca-surface);
    transition: border-color 0.25s ease, background-color 0.25s ease;
}

.rca-project:hover {
    border-color: var(--rca-accent);
    background-color: var(--rca-surface-strong);
}

.rca-project__media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: var(--rca-surface-strong);
}

.rca-project__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Ancrage en haut a GAUCHE : sur une capture de site, le contenu qui identifie
       le projet (logo, navigation, titre) s'y trouve. Un ancrage centre rognait le
       debut du titre sur les captures plus larges que le cadre. */
    object-position: left top;
    transition: transform 0.4s ease;
}

.rca-project:hover .rca-project__media img {
    transform: scale(1.04);
}

.rca-project__category {
    position: absolute;
    top: 14px;
    left: 14px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    padding: 6px 12px;
    border-radius: 999px;
    color: #ffffff;
    background-color: color-mix(in srgb, var(--rca-accent) 88%, black);
}

.rca-project__body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 24px;
}

.rca-project__title {
    font-size: 20px;
    line-height: 1.3;
    font-weight: 600;
    margin: 0 0 6px;
    color: var(--rca-text);
}

.rca-project__subtitle {
    font-size: 14px;
    color: var(--rca-accent);
    margin: 0 0 12px;
}

.rca-project__text {
    font-size: 15px;
    line-height: 1.75;
    color: var(--rca-muted);
    margin: 0 0 20px;
}

.rca-project__links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
}

.rca-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid var(--rca-border);
    color: var(--rca-text);
    transition: border-color 0.25s ease, color 0.25s ease;
}

.rca-link:hover {
    border-color: var(--rca-accent);
    color: var(--rca-accent);
}

.rca-link--accent {
    border-color: var(--rca-accent);
    color: var(--rca-accent);
}

.rca-link--accent:hover {
    background-color: var(--rca-accent);
    color: #ffffff;
}

/* ==========================================================================
   5. Services
   ========================================================================== */

.rca-services {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

@media (width >= 768px) {
    .rca-services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (width >= 1200px) {
    .rca-services {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* Avec 4 services, on reste en 2 colonnes : la 3e colonne laisserait le
       quatrieme seul sur sa ligne. */
    .rca-services--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.rca-service {
    display: block;
    padding: 28px 24px;
    border: 1px solid var(--rca-border);
    border-radius: var(--rca-radius);
    background-color: var(--rca-surface);
    transition: border-color 0.25s ease, background-color 0.25s ease;
}

.rca-service:hover {
    border-color: var(--rca-accent);
    background-color: var(--rca-surface-strong);
}

.rca-service__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
    border-radius: 12px;
    color: var(--rca-accent);
    background-color: color-mix(in srgb, var(--rca-accent) 14%, transparent);
}

.rca-service__icon img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.rca-service__title {
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
    margin: 0 0 10px;
    color: var(--rca-text);
}

.rca-service__text {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rca-muted);
    margin: 0;
}

/* ==========================================================================
   6. Pourquoi nous
   ========================================================================== */

.rca-why {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    border: 1px solid var(--rca-border);
    border-radius: var(--rca-radius);
    overflow: hidden;
    background-color: var(--rca-border);
}

@media (width >= 768px) {
    .rca-why {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (width >= 1200px) {
    .rca-why {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.rca-why__item {
    padding: 30px 26px;
    background-color: var(--rca-surface-strong);
}

html.light .rca-why__item {
    background-color: #ffffff;
}

.rca-why__index {
    display: block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.14em;
    color: var(--rca-accent);
    margin-bottom: 14px;
}

.rca-why__title {
    font-size: 18px;
    line-height: 1.35;
    font-weight: 600;
    margin: 0 0 10px;
    color: var(--rca-text);
}

.rca-why__text {
    font-size: 15px;
    line-height: 1.75;
    color: var(--rca-muted);
    margin: 0;
}

/* ==========================================================================
   7. Methode
   ========================================================================== */

.rca-steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    counter-reset: rca-step;
}

@media (width >= 768px) {
    .rca-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (width >= 1200px) {
    .rca-steps {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.rca-step {
    position: relative;
    padding: 26px 22px;
    border: 1px dashed var(--rca-border);
    border-radius: var(--rca-radius);
}

.rca-step__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    border-radius: 50%;
    font-size: 15px;
    font-weight: 700;
    color: var(--rca-accent);
    border: 1px solid var(--rca-accent);
}

.rca-step__mark img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.rca-step h3 {
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    margin: 0 0 8px;
    color: var(--rca-text);
}

.rca-step p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--rca-muted);
    margin: 0;
}

/* ==========================================================================
   8. Temoignages
   ========================================================================== */

.rca-testimonials {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (width >= 992px) {
    .rca-testimonials {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.rca-testimonial {
    display: flex;
    flex-direction: column;
    padding: 28px 24px;
    border: 1px solid var(--rca-border);
    border-radius: var(--rca-radius);
    background-color: var(--rca-surface);
}

.rca-testimonial__quote {
    font-size: 15px;
    line-height: 1.8;
    color: var(--rca-text);
    margin: 0 0 22px;
}

.rca-testimonial__author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
}

.rca-testimonial__author img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
}

.rca-testimonial__name {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: var(--rca-text);
}

.rca-testimonial__role {
    display: block;
    font-size: 13px;
    color: var(--rca-muted);
}

/* ==========================================================================
   9. Contact
   ========================================================================== */

.rca-contact__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 34px;
    align-items: start;
}

@media (width >= 992px) {
    .rca-contact__grid {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 56px;
    }
}

.rca-contact__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    border: 1px solid var(--rca-border);
    border-radius: var(--rca-radius);
    overflow: hidden;
    background-color: var(--rca-border);
}

@media (width >= 576px) {
    .rca-contact__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.rca-contact__item {
    padding: 24px 22px;
    background-color: var(--rca-surface-strong);
}

html.light .rca-contact__item {
    background-color: #ffffff;
}

.rca-contact__label {
    display: block;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--rca-muted);
    margin-bottom: 8px;
}

.rca-contact__value {
    display: inline-block;
    font-size: 17px;
    font-weight: 600;
    color: var(--rca-text);
    word-break: break-word;
}

a.rca-contact__value:hover {
    color: var(--rca-accent);
}

/* ==========================================================================
   10. CTA final
   ========================================================================== */

.rca-cta {
    position: relative;
    padding: 60px 0;
    overflow: hidden;
    background-image: linear-gradient(115deg, #2f7f75 0%, var(--rca-accent) 55%, #5fc2b3 100%);
    color: #ffffff;
}

@media (width >= 768px) {
    .rca-cta {
        padding: 90px 0;
    }
}

.rca-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../images/noise-overlay.png");
    opacity: 0.35;
    mix-blend-mode: overlay;
    pointer-events: none;
}

.rca-cta > .container {
    position: relative;
    z-index: 2;
}

.rca-cta__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 26px;
    align-items: center;
}

@media (width >= 992px) {
    .rca-cta__inner {
        grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
        gap: 40px;
    }
}

.rca-cta__title {
    font-size: 26px;
    line-height: 1.25;
    font-weight: 700;
    margin: 0 0 12px;
    color: #ffffff;
}

@media (width >= 768px) {
    .rca-cta__title {
        font-size: 36px;
    }
}

.rca-cta__lead {
    font-size: 16px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
    max-width: 60ch;
}

.rca-cta__actions {
    display: flex;
}

@media (width >= 992px) {
    .rca-cta__actions {
        justify-content: flex-end;
    }
}

/* ==========================================================================
   Accessibilite : respect des preferences de mouvement
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .rca *,
    .rca *::before,
    .rca *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .rca-marker__dot::after {
        animation: none;
        opacity: 0.5;
        transform: scale(1);
    }

    .rca-project:hover .rca-project__media img {
        transform: none;
    }
}
