.elementor-11 .elementor-element.elementor-element-10fdaae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11 .elementor-element.elementor-element-10fdaae:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-10fdaae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b045098 );}.elementor-11 .elementor-element.elementor-element-d7b00d4 > .elementor-widget-container{padding:20px 20px 20px 20px;}.elementor-11 .elementor-element.elementor-element-885daed{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11 .elementor-element.elementor-element-885daed:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-885daed > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b045098 );}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-11 .elementor-element.elementor-element-0774b47{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:3.5px;}.elementor-11 .elementor-element.elementor-element-0774b47 .elementor-divider-separator{width:20%;}.elementor-11 .elementor-element.elementor-element-0774b47 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-11 .elementor-element.elementor-element-de5f336{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11 .elementor-element.elementor-element-de5f336:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-de5f336 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b045098 );}.elementor-11 .elementor-element.elementor-element-fc0d8e2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11 .elementor-element.elementor-element-fc0d8e2:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-fc0d8e2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b045098 );}.elementor-11 .elementor-element.elementor-element-4d76a07{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:3.5px;}.elementor-11 .elementor-element.elementor-element-4d76a07 .elementor-divider-separator{width:20%;}.elementor-11 .elementor-element.elementor-element-4d76a07 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-11 .elementor-element.elementor-element-3cd518f > .elementor-widget-container{padding:15px 15px 15px 15px;}.elementor-11 .elementor-element.elementor-element-3cd518f{text-align:center;}.elementor-11 .elementor-element.elementor-element-3cd518f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:600;}.elementor-11 .elementor-element.elementor-element-5881f4c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11 .elementor-element.elementor-element-5881f4c:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-5881f4c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b045098 );}.elementor-11 .elementor-element.elementor-element-75bb6b3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11 .elementor-element.elementor-element-75bb6b3:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-75bb6b3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-b045098 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-11 .elementor-element.elementor-element-aed9c72{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-11 .elementor-element.elementor-element-aed9c72:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-aed9c72 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF3E8;}.elementor-11 .elementor-element.elementor-element-a8e0627{--divider-border-style:solid;--divider-color:var( --e-global-color-primary );--divider-border-width:3.5px;}.elementor-11 .elementor-element.elementor-element-a8e0627 .elementor-divider-separator{width:20%;}.elementor-11 .elementor-element.elementor-element-a8e0627 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-11 .elementor-element.elementor-element-bbc069d > .elementor-widget-container{padding:15px 15px 15px 15px;}.elementor-11 .elementor-element.elementor-element-bbc069d{text-align:center;}.elementor-11 .elementor-element.elementor-element-bbc069d .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:35px;font-weight:600;color:#603F35;}.elementor-11 .elementor-element.elementor-element-7f73ff9 > .elementor-widget-container{margin:25px 25px 25px 25px;}.elementor-11 .elementor-element.elementor-element-7f73ff9{text-align:center;font-family:"Montserrat", Sans-serif;font-weight:400;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-11 .elementor-element.elementor-element-cf5ade7 .elementor-button:hover, .elementor-11 .elementor-element.elementor-element-cf5ade7 .elementor-button:focus{background-color:var( --e-global-color-3fff778 );}.elementor-11 .elementor-element.elementor-element-cf5ade7 > .elementor-widget-container{margin:0% 5% 0% 0%;}.elementor-11 .elementor-element.elementor-element-cf5ade7 .elementor-button{fill:var( --e-global-color-b045098 );color:var( --e-global-color-b045098 );border-radius:25px 25px 25px 25px;}.elementor-11 .elementor-element.elementor-element-41b0d70{--spacer-size:150px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-11 .elementor-element.elementor-element-3cd518f .elementor-heading-title{font-size:25px;}.elementor-11 .elementor-element.elementor-element-bbc069d .elementor-heading-title{font-size:25px;}.elementor-11 .elementor-element.elementor-element-cf5ade7 > .elementor-widget-container{margin:0% 0% 0% 0%;}}@media(max-width:767px){.elementor-11 .elementor-element.elementor-element-d7b00d4 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-3cd518f .elementor-heading-title{font-size:21px;}.elementor-11 .elementor-element.elementor-element-5881f4c{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-11 .elementor-element.elementor-element-00755c4 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-11 .elementor-element.elementor-element-bbc069d .elementor-heading-title{font-size:21px;}.elementor-11 .elementor-element.elementor-element-7f73ff9 > .elementor-widget-container{margin:15px 15px 15px 15px;}.elementor-11 .elementor-element.elementor-element-7f73ff9{font-size:15px;}.elementor-11 .elementor-element.elementor-element-cf5ade7 > .elementor-widget-container{margin:0% 0% 0% 0%;}.elementor-11 .elementor-element.elementor-element-18b65fe > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-d7b00d4 *//* --- CONFIGURATION --- */
.hero-elite-wrapper {
    --he-brown: #603F35;
    --he-cream: #FAF3E8;
    --he-white: #ffffff;
    --he-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
    
    position: relative;
    padding: 80px 20px 120px 20px; /* Espace en bas pour le dock */
    background-color: var(--he-cream);
    overflow: hidden; /* Important pour le marquee */
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    text-align: center;
    min-height: 80vh; /* Prend 80% de la hauteur de l'écran */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* --- BACKGROUND ANIMÉ (MARQUEE) --- */
.hero-marquee {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-5deg); /* Légère inclinaison stylée */
    width: 200%;
    opacity: 0.04; /* Très subtil */
    pointer-events: none;
    z-index: 0;
}

.marquee-content {
    font-size: 8vw;
    font-weight: 900;
    white-space: nowrap;
    color: var(--he-brown);
    animation: marquee-scroll 20s linear infinite;
}

@keyframes marquee-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* --- HEADER (Portfolio 2025 / Status) --- */
.hero-content {
    position: relative;
    z-index: 2;
    max-width: 1000px;
}

.hero-header {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 600px;
    margin: 0 auto 40px auto;
    font-size: 0.8rem;
    letter-spacing: 2px;
    color: var(--he-brown);
    text-transform: uppercase;
    font-weight: 600;
}

.status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #27ae60;
    border-radius: 50%;
    margin-right: 5px;
    box-shadow: 0 0 0 0 rgba(39, 174, 96, 0.7);
    animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
    0% { box-shadow: 0 0 0 0 rgba(39, 174, 96, 0.4); }
    70% { box-shadow: 0 0 0 6px rgba(39, 174, 96, 0); }
    100% { box-shadow: 0 0 0 0 rgba(39, 174, 96, 0); }
}

/* --- TITRE MONUMENTAL --- */
.hero-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 0.85;
    margin: 0 0 40px 0;
    color: var(--he-brown);
}

.hero-title span {
    display: block;
    font-family: 'Georgia', serif; /* Aspect éditorial */
    font-weight: 700;
}

.line-1 {
    font-size: clamp(4rem, 12vw, 10rem); /* Responsive gigantesque */
    letter-spacing: -0.02em;
}

.line-2 {
    font-size: clamp(3rem, 9vw, 8rem);
    letter-spacing: 0.05em; /* Un peu plus espacé pour le contraste */
    opacity: 0.9;
}

/* --- RÔLE ET SEPARATEUR --- */
.hero-role-block {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
}

.separator-line {
    width: 60px;
    height: 2px;
    background-color: var(--he-brown);
}

.hero-role {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--he-brown);
}

/* --- INTRO CARD (Le texte remplaçant la liste) --- */
.hero-intro-card {
    max-width: 500px;
    margin: 0 auto;
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--he-brown);
    opacity: 0.8;
}

.hero-intro-card .highlight {
    font-weight: bold;
    border-bottom: 1px solid rgba(96, 63, 53, 0.3);
}

/* --- LE DOCK DE NAVIGATION (Liens) --- */
.hero-dock {
    position: relative; /* Ajusté pour s'intégrer dans le flux */
    margin-top: 60px;
    display: inline-flex;
    gap: 15px;
    padding: 10px 15px;
    background: rgba(96, 63, 53, 0.05); /* Fond très léger */
    border: 1px solid rgba(96, 63, 53, 0.1);
    border-radius: 20px;
    backdrop-filter: blur(10px);
    z-index: 10;
}

.dock-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 80px;
    text-decoration: none;
    color: var(--he-brown) !important;
    transition: all 0.3s var(--he-ease);
    position: relative;
    padding: 10px 0;
}

.dock-icon {
    width: 50px;
    height: 50px;
    background-color: var(--he-white);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(96, 63, 53, 0.1);
    transition: transform 0.3s var(--he-ease);
    margin-bottom: 5px;
}

.dock-icon svg {
    width: 24px;
    height: 24px;
}

.dock-label {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 1px;
    opacity: 0.7;
    transition: opacity 0.3s;
}

/* Interaction Dock "App" Style */
.dock-item:hover .dock-icon {
    transform: translateY(-10px) scale(1.1);
    background-color: var(--he-brown);
    color: var(--he-cream);
    box-shadow: 0 15px 30px rgba(96, 63, 53, 0.2);
}

.dock-item:hover .dock-label {
    opacity: 1;
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    .hero-elite-wrapper {
        padding: 60px 20px;
        min-height: auto;
    }

    .hero-marquee {
        width: 300%; /* Plus large sur mobile pour le scroll */
        font-size: 15vw;
    }

    .hero-header {
        margin-bottom: 20px;
    }

    .line-1 { font-size: 16vw; } /* Énorme sur mobile */
    .line-2 { font-size: 12vw; }

    .hero-role-block {
        flex-direction: column;
        gap: 10px;
    }

    .separator-line {
        width: 40px;
    }

    .hero-role {
        font-size: 0.9rem;
        letter-spacing: 2px;
    }

    .hero-dock {
        width: 100%;
        justify-content: space-around;
        gap: 5px;
    }
    
    .dock-item {
        width: auto;
        flex: 1;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-62908a4 *//* --- CONFIGURATION GLOBALE --- */
.parcours-luxe-wrapper {
    --pl-brown: #603F35;
    --pl-cream: #FAF3E8;
    --pl-white: #ffffff;
    --pl-ease: cubic-bezier(0.25, 1, 0.5, 1);
    
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    padding: 60px 40px;
    background-color: var(--pl-cream);
    text-align: center;
    position: relative;
    overflow: hidden;

    /* --- NOUVEAUX AJOUTS (BORDURE RENFORCÉE) --- */
    border-radius: 24px;
    /* Bordure plus épaisse (2px) et couleur marron solide */
    border: 2px solid var(--pl-brown); 
    
    /* Ombre portée légère au repos */
    box-shadow: 
        0 4px 6px -1px rgba(96, 63, 53, 0.05),
        0 2px 4px -1px rgba(96, 63, 53, 0.05);
        
    transition: all 0.5s var(--pl-ease);
}

/* --- EFFET AU SURVOL --- */
.parcours-luxe-wrapper:hover {
    transform: translateY(-8px);
    /* Ombre portée plus intense pour le contraste */
    box-shadow: 
        0 20px 30px -5px rgba(96, 63, 53, 0.15),
        0 10px 10px -5px rgba(96, 63, 53, 0.08);
}

/* Texture de fond subtile */
.parcours-luxe-wrapper::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: radial-gradient(var(--pl-brown) 1px, transparent 1px);
    background-size: 30px 30px;
    opacity: 0.03;
    pointer-events: none;
}

/* --- HEADER --- */
.parcours-header {
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}

.parcours-subtitle {
    display: block;
    font-size: 0.75rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--pl-brown);
    opacity: 0.6;
    margin-bottom: 10px;
    font-weight: 700;
}

.parcours-title {
    font-family: 'Georgia', serif;
    font-size: 2.5rem;
    color: var(--pl-brown);
    margin: 0;
    line-height: 1.2;
}

/* --- TIMELINE CONTAINER --- */
.parcours-timeline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
    position: relative;
    z-index: 2;
}

/* --- LES ÉTAPES (STEPS) --- */
.timeline-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    flex: 1;
    max-width: 250px;
    transition: transform 0.4s var(--pl-ease);
}

.timeline-step:hover {
    transform: translateY(-5px);
}

.step-icon {
    width: 70px;
    height: 70px;
    border: 1px solid rgba(96, 63, 53, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--pl-white);
    color: var(--pl-brown);
    transition: all 0.4s var(--pl-ease);
    box-shadow: 0 10px 20px rgba(96, 63, 53, 0.05);
}

.timeline-step:hover .step-icon {
    background: var(--pl-brown);
    color: var(--pl-cream);
    box-shadow: 0 15px 30px rgba(96, 63, 53, 0.15);
    transform: scale(1.1);
}

.step-icon svg {
    width: 32px;
    height: 32px;
}

.step-content {
    text-align: center;
}

.step-label {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--pl-brown);
    opacity: 0.5;
    margin-bottom: 5px;
}

.step-name {
    margin: 0;
    font-size: 1.1rem;
    color: var(--pl-brown);
    font-weight: 700;
}

/* --- CONNECTEUR CENTRAL --- */
.timeline-connector {
    flex: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0 20px;
}

.connector-line {
    width: 100%;
    height: 2px;
    background-color: rgba(96, 63, 53, 0.1);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

/* Animation de la ligne */
.connector-line::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 0%;
    height: 100%;
    background-color: var(--pl-brown);
    transition: width 0.8s var(--pl-ease);
}

.parcours-luxe-wrapper:hover .connector-line::after {
    width: 100%;
}

.connector-arrow {
    background: var(--pl-brown);
    color: var(--pl-cream);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transform: rotate(0deg);
    transition: transform 0.6s var(--pl-ease);
}

.parcours-luxe-wrapper:hover .connector-arrow {
    transform: rotate(360deg) scale(1.1);
}

.connector-arrow svg {
    width: 20px;
    height: 20px;
}

/* --- BOUTON FINAL --- */
.parcours-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 35px;
    background-color: var(--pl-brown);
    color: var(--pl-cream) !important;
    text-decoration: none;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s var(--pl-ease);
    position: relative;
    overflow: hidden;
    z-index: 2;
}

.parcours-btn:hover {
    background-color: #4a2f26;
    padding-right: 45px;
    color: var(--pl-cream) !important;
}

.parcours-btn .btn-icon {
    transition: transform 0.3s;
}

.parcours-btn:hover .btn-icon {
    transform: translateX(5px);
}

/* --- RESPONSIVE MOBILE --- */
@media (max-width: 768px) {
    .parcours-luxe-wrapper {
        padding: 40px 20px;
    }

    .parcours-title {
        font-size: 1.8rem;
    }

    .parcours-timeline {
        flex-direction: column;
        gap: 30px;
    }

    .timeline-connector {
        flex: 0;
        height: 60px;
        width: 100%;
    }

    .connector-line {
        width: 2px;
        height: 100%;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .connector-line::after {
        width: 100%;
        height: 0%;
        transition: height 0.8s var(--pl-ease);
    }
    
    .parcours-luxe-wrapper:hover .connector-line::after {
        width: 100%;
        height: 100%;
    }

    .connector-arrow {
        transform: rotate(90deg);
    }
    
    .parcours-luxe-wrapper:hover .connector-arrow {
        transform: rotate(90deg) scale(1.1);
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-00755c4 *//* --- CONFIGURATION GLOBALE --- */
.agency-grid-wrapper {
    display: grid;
    /* Responsive automatique : min 320px de large par carte */
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); 
    gap: 30px;
    padding: 20px 0;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    /* Définition des variables de couleurs */
    --ag-brown: #603F35;
    --ag-cream: #FAF3E8;
    --ag-white: #ffffff;
    --ag-ease: cubic-bezier(0.165, 0.84, 0.44, 1); /* Courbe d'animation fluide pro */
}

/* --- LA CARTE (CONTAINER) --- */
.agency-card {
    background-color: var(--ag-white);
    border: 1px solid rgba(96, 63, 53, 0.08); /* Bordure ultra fine */
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    transition: all 0.6s var(--ag-ease);
    display: flex;
    flex-direction: column;
}

/* Ombre portée sophistiquée (diffuse) */
.agency-card {
    box-shadow: 
        0 4px 6px -1px rgba(96, 63, 53, 0.02),
        0 2px 4px -1px rgba(96, 63, 53, 0.02);
}

/* --- INTERACTION HOVER (LE "WOW") --- */
.agency-card:hover {
    transform: translateY(-8px); /* Lévitation */
    border-color: rgba(96, 63, 53, 0.3);
    box-shadow: 
        0 20px 25px -5px rgba(96, 63, 53, 0.1),
        0 10px 10px -5px rgba(96, 63, 53, 0.04);
}

/* --- CONTENU INTERNE --- */
.card-inner {
    padding: 40px 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    z-index: 2;
    background: linear-gradient(180deg, var(--ag-white) 0%, rgba(250, 243, 232, 0.3) 100%);
}

/* --- ICONE ANIMÉE --- */
.card-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 25px;
    color: var(--ag-brown);
    background: var(--ag-cream);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.5s var(--ag-ease);
}

.card-icon svg {
    width: 28px;
    height: 28px;
    stroke-width: 1.5px;
}

.agency-card:hover .card-icon {
    background: var(--ag-brown);
    color: var(--ag-cream); /* Inversion des couleurs au survol */
    transform: scale(1.1) rotate(3deg);
}

/* --- TYPOGRAPHIE --- */
.card-title {
    color: var(--ag-brown);
    font-size: 1.4rem;
    line-height: 1.3;
    margin: 0 0 20px 0;
    font-weight: 700;
    font-family: 'Georgia', serif; /* Touche éditoriale luxe */
    letter-spacing: -0.02em;
}

.card-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
    flex-grow: 1; /* Pousse le bouton vers le bas */
}

.card-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 12px;
    font-size: 0.95rem;
    color: #5a4a44; /* Brun gris pour la lecture */
    line-height: 1.6;
}

/* Puce personnalisée (petit carré élégant) */
.card-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background-color: rgba(96, 63, 53, 0.3);
    border-radius: 1px;
    transition: background 0.3s;
}

.agency-card:hover .card-list li::before {
    background-color: var(--ag-brown); /* La puce s'allume au survol */
}

/* --- BOUTON MAGNÉTIQUE (CORRIGÉ) --- */
.card-action {
    margin-top: auto;
}

.agency-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 18px 25px;
    background-color: var(--ag-brown);
    color: var(--ag-cream) !important; /* Force la couleur crème par défaut */
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.4s var(--ag-ease);
    position: relative;
    overflow: hidden;
    z-index: 1;
}

/* Effet de remplissage au survol */
.agency-btn::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #4a2f26; /* Brun encore plus foncé */
    z-index: -1;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s var(--ag-ease);
}

.agency-btn:hover::before {
    transform: scaleX(1);
}

/* CORRECTION : On force la couleur au survol pour contrer Elementor */
.agency-btn:hover {
    padding-left: 30px; /* Petit décalage du texte */
    color: var(--ag-cream) !important; 
}

/* Sécurité supplémentaire pour les spans internes */
.agency-btn:hover span {
    color: var(--ag-cream) !important;
}

.btn-arrow {
    transition: transform 0.4s;
}

.agency-btn:hover .btn-arrow {
    transform: translateX(5px);
}

/* --- MOBILE --- */
@media (max-width: 768px) {
    .agency-grid-wrapper {
        grid-template-columns: 1fr; /* Une seule colonne sur mobile */
        gap: 20px;
    }
    
    .card-inner {
        padding: 30px 20px;
    }
}

@media (max-width: 768px) {
    .agency-grid-wrapper {
        grid-template-columns: 1fr; /* Force une seule colonne */
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-18b65fe *//* --- VARIABLES & CONFIGURATION --- */
.masterpiece-container {
    --mp-brown: #603F35;
    --mp-cream: #FAF3E8;
    --mp-glass: rgba(255, 255, 255, 0.4);
    --mp-border: rgba(96, 63, 53, 0.15);
    --mp-ease: cubic-bezier(0.23, 1, 0.32, 1); /* Courbe d'animation "Signature" */
}

.masterpiece-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 40px;
    padding: 20px 0;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* --- LA CARTE (Le Conteneur de Luxe) --- */
.mp-card {
    perspective: 1000px; /* Pour la 3D subtile */
}

.mp-card-inner {
    background: var(--mp-glass); /* Verre dépoli */
    backdrop-filter: blur(12px); /* L'effet de flou moderne */
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--mp-border);
    border-radius: 4px; /* Coins très peu arrondis style "Technical" */
    padding: 0;
    position: relative;
    transition: all 0.6s var(--mp-ease);
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* Texture de fond "Papier millimétré" très subtile */
.mp-card-inner::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(var(--mp-brown) 1px, transparent 1px);
    background-size: 20px 20px;
    opacity: 0.03;
    z-index: -1;
    transition: opacity 0.5s;
}

/* --- EFFETS DE SURVOL (HOVER) --- */
.mp-card:hover .mp-card-inner {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(96, 63, 53, 0.1);
    background: rgba(255, 255, 255, 0.7); /* Devient plus opaque */
    border-color: var(--mp-brown);
}

.mp-card:hover .mp-card-inner::before {
    opacity: 0.06; /* La grille ressort */
}

/* --- TOP BAR (Technical Header) --- */
.mp-top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 30px 0 30px;
}

.mp-mono {
    font-family: 'Courier New', Courier, monospace; /* Police Technique */
    font-size: 0.7rem;
    letter-spacing: 1px;
    color: var(--mp-brown);
    opacity: 0.6;
    text-transform: uppercase;
}

.mp-status-dot {
    width: 8px;
    height: 8px;
    background-color: var(--mp-brown);
    border-radius: 50%;
    opacity: 0.3;
    box-shadow: 0 0 0 0 rgba(96, 63, 53, 0.7);
    transition: all 0.5s;
}

.mp-card:hover .mp-status-dot {
    opacity: 1;
    background-color: #27ae60; /* Vert subtil au survol */
    box-shadow: 0 0 0 4px rgba(39, 174, 96, 0.2);
    animation: pulse-dot 2s infinite;
}

/* --- TITRE ET NUMÉRO --- */
.mp-header {
    padding: 20px 30px;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.mp-title {
    font-family: 'Georgia', serif; /* Touche éditoriale */
    font-size: 1.5rem;
    color: var(--mp-brown);
    margin: 0;
    line-height: 1.2;
    max-width: 80%;
    font-weight: 700;
}

.mp-number {
    font-size: 3rem;
    font-weight: 900;
    color: var(--mp-brown);
    opacity: 0.05; /* Très effacé */
    line-height: 1;
    position: absolute;
    top: 10px;
    right: 20px;
    font-family: 'Helvetica Neue', sans-serif;
    transition: all 0.5s var(--mp-ease);
}

.mp-card:hover .mp-number {
    transform: scale(1.2) rotate(-10deg);
    opacity: 0.1;
}

/* --- CORPS (BODY) --- */
.mp-body {
    padding: 0 30px 30px 30px;
    flex-grow: 1;
}

.mp-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    color: var(--mp-brown);
    margin-bottom: 8px;
    opacity: 0.5;
}

.mp-text {
    font-size: 0.95rem;
    color: var(--mp-brown);
    line-height: 1.6;
    margin-bottom: 10px;
}

.mp-micro-list {
    font-size: 0.8rem;
    font-family: 'Courier New', monospace;
    color: var(--mp-brown);
    opacity: 0.8;
}

.mp-micro-list span {
    border-bottom: 1px dotted var(--mp-brown);
}

/* Séparateur élégant */
.mp-separator {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--mp-border), transparent);
    margin: 25px 0;
}

/* --- GRILLE INTERNE --- */
.mp-row-grid {
    display: flex;
    gap: 20px;
}

.mp-col {
    flex: 1;
}

/* Tags Techniques */
.mp-tags {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mp-tags li {
    font-size: 0.85rem;
    color: var(--mp-brown);
    padding: 4px 0;
    border-bottom: 1px solid rgba(96, 63, 53, 0.05);
}

/* Métriques (Points forts/faibles) */
.mp-metric {
    font-size: 0.85rem;
    color: var(--mp-brown);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mp-metric.negative { opacity: 0.7; font-style: italic; }

.mp-icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    border: 1px solid var(--mp-brown);
    border-radius: 50%;
    font-size: 10px;
    line-height: 1;
}

/* --- FOOTER (Dark Contrast) --- */
.mp-footer {
    background: var(--mp-brown);
    color: var(--mp-cream);
    padding: 20px 30px;
    margin-top: auto;
    position: relative;
    overflow: hidden;
}

/* Petit effet de brillance sur le footer */
.mp-footer::after {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    transform: skewX(-20deg);
    transition: left 0.5s;
}

.mp-card:hover .mp-footer::after {
    left: 120%;
    transition: left 0.7s ease-in-out;
}

.mp-feedback {
    font-style: italic;
    font-size: 0.9rem;
    margin-bottom: 10px;
    opacity: 0.9;
    padding-left: 15px;
    position: relative;
}

.mp-quote-icon {
    position: absolute;
    left: -5px;
    top: -5px;
    font-size: 2rem;
    opacity: 0.3;
    font-family: serif;
}

.mp-action {
    font-size: 0.75rem;
    border-top: 1px solid rgba(250, 243, 232, 0.2);
    padding-top: 10px;
    margin-top: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
}

/* --- ANIMATION --- */
@keyframes pulse-dot {
    0% { box-shadow: 0 0 0 0 rgba(39, 174, 96, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(39, 174, 96, 0); }
    100% { box-shadow: 0 0 0 0 rgba(39, 174, 96, 0); }
}

/* --- RESPONSIVE MOBILE --- */
@media (max-width: 768px) {
    .masterpiece-grid {
        grid-template-columns: 1fr;
    }
    .mp-row-grid {
        flex-direction: column;
        gap: 20px;
    }
}

/* --- OPTIMISATION MOBILE ULTIME --- */
@media screen and (max-width: 900px) {
    /* 1. Force une seule colonne sur mobile/tablette */
    .masterpiece-grid {
        grid-template-columns: 1fr !important; 
        gap: 25px; /* Espace réduit entre les cartes */
        padding: 10px; /* Marges latérales réduites */
    }

    /* 2. Ajustement des espacements internes (Padding) */
    .mp-header, 
    .mp-body, 
    .mp-footer, 
    .mp-top-bar {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* 3. Typographie adaptée aux petits écrans */
    .mp-title {
        font-size: 1.3rem !important; /* Titre un peu plus petit */
        max-width: 90%;
    }

    .mp-number {
        font-size: 2.5rem !important;
        top: 15px;
        right: 15px;
    }

    /* 4. Empilement des colonnes internes (Acquis / Analyse) */
    .mp-row-grid {
        flex-direction: column;
        gap: 25px;
    }

    /* 5. Désactivation des effets lourds pour la batterie mobile */
    .mp-card-inner {
        transform: none !important; /* Pas de 3D complexe sur mobile */
    }
    
    /* Le footer s'affiche normalement sans effet de survol nécessaire */
    .mp-footer::after {
        display: none; 
    }
}/* End custom CSS */