.elementor-10512 .elementor-element.elementor-element-a61445b{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}body:not(.rtl) .elementor-10512 .elementor-element.elementor-element-03f91aa{left:0px;}body.rtl .elementor-10512 .elementor-element.elementor-element-03f91aa{right:0px;}.elementor-10512 .elementor-element.elementor-element-03f91aa{top:-200000px;}.elementor-10512 .elementor-element.elementor-element-03f91aa .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:10px;font-weight:400;text-transform:uppercase;line-height:55px;}body:not(.rtl) .elementor-10512 .elementor-element.elementor-element-3c25f7e{left:0px;}body.rtl .elementor-10512 .elementor-element.elementor-element-3c25f7e{right:0px;}.elementor-10512 .elementor-element.elementor-element-3c25f7e{top:-200000px;}.elementor-10512 .elementor-element.elementor-element-3c25f7e .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:10px;font-weight:400;text-transform:uppercase;line-height:55px;}body:not(.rtl) .elementor-10512 .elementor-element.elementor-element-677df6c{left:0px;}body.rtl .elementor-10512 .elementor-element.elementor-element-677df6c{right:0px;}.elementor-10512 .elementor-element.elementor-element-677df6c{top:-200000px;}.elementor-10512 .elementor-element.elementor-element-677df6c .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:10px;font-weight:400;text-transform:uppercase;line-height:55px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-10512 .elementor-element.elementor-element-03f91aa .elementor-heading-title{font-size:32px;}.elementor-10512 .elementor-element.elementor-element-3c25f7e .elementor-heading-title{font-size:32px;}.elementor-10512 .elementor-element.elementor-element-677df6c .elementor-heading-title{font-size:32px;}}/* Start custom CSS for html, class: .elementor-element-88eca47 *//* Hero */
        .hero-about { padding: 50px 0 100px !important; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%) !important; position: relative !important; overflow: hidden !important; }
        .hero-about::before { content: '' !important; position: absolute !important; width: 600px !important; height: 600px !important; background: var(--accent) !important; border-radius: 50% !important; top: -300px !important; right: -200px !important; opacity: 0.1 !important; }
        .hero-about::after { content: '' !important; position: absolute !important; width: 400px !important; height: 400px !important; background: var(--white) !important; border-radius: 50% !important; bottom: -200px !important; left: -100px !important; opacity: 0.05 !important; }
        
        .hero-about-content { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px !important; align-items: center !important; position: relative !important; z-index: 1 !important; }
        .hero-about-text .h1 { font-family: 'Playfair Display', serif !important; font-size: clamp(40px, 5vw, 56px) !important; font-weight: 600 !important; color: var(--white) !important; margin-bottom: 24px !important; line-height: 1.1 !important; }
        .hero-about-text .h1 span { color: var(--accent-light) !important; }
        .hero-about-text p { font-size: 18px !important; color: rgba(255,255,255,0.8) !important; line-height: 1.8 !important; margin-bottom: 32px !important; }
        .hero-about-badge { display: inline-flex !important; align-items: center !important; gap: 12px !important; background: rgba(255,255,255,0.1) !important; border: 1px solid rgba(255,255,255,0.2) !important; padding: 16px 24px !important; border-radius: 16px !important; }
        .hero-about-badge svg { width: 32px !important; height: 32px !important; color: var(--accent-light) !important; }
        .hero-about-badge span { color: var(--white) !important; font-size: 14px !important; font-weight: 500 !important; }
        
        .hero-about-visual { position: relative !important; }
        .hero-about-image { width: 100% !important; height: 450px !important; background: rgba(255,255,255,0.1) !important; border-radius: 24px !important; overflow: hidden !important; position: relative !important; }
        .hero-about-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
        .hero-image-placeholder { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%) !important; }
        .hero-image-placeholder svg { width: 100px !important; height: 100px !important; color: var(--white) !important; opacity: 0.2 !important; }
        
        .floating-stat { position: absolute !important; background: var(--white) !important; padding: 20px 28px !important; border-radius: 16px !important; box-shadow: 0 20px 50px rgba(0,0,0,0.15) !important; }
        .floating-stat-1 { bottom: -30px !important; left: -40px !important; }
        .floating-stat-2 { top: 40px !important; right: -40px !important; }
        .floating-stat-number { font-family: 'Playfair Display', serif !important; font-size: 36px !important; font-weight: 700 !important; color: var(--accent) !important; line-height: 1 !important; }
        .floating-stat-label { font-size: 13px !important; color: var(--gray) !important; margin-top: 4px !important; }

        /* Section Header */
        .section-header { text-align: center !important; margin-bottom: 60px !important; }
        .section-badge { display: inline-block !important; color: var(--accent) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 1px !important; text-transform: uppercase !important; margin-bottom: 16px !important; }
        .section-title { font-family: 'Playfair Display', serif !important; font-size: clamp(32px, 4vw, 44px) !important; font-weight: 600 !important; color: var(--primary) !important; margin-bottom: 16px !important; }
        .section-subtitle { color: var(--gray) !important; font-size: 17px !important; max-width: 650px !important; margin: 0 auto !important; line-height: 1.7 !important; }

        /* Présentation Section */
        .presentation { padding: 100px 0 !important; background: var(--white) !important; }
        .presentation-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px !important; align-items: center !important; }
        .presentation-content .h2 { font-family: 'Playfair Display', serif !important; font-size: 36px !important; font-weight: 600 !important; color: var(--primary) !important; margin-bottom: 24px !important; }
        .presentation-content p { color: var(--gray) !important; font-size: 16px !important; line-height: 1.8 !important; margin-bottom: 20px !important; }
        .presentation-highlight { background: var(--accent-pale) !important; border-left: 4px solid var(--accent) !important; padding: 24px 28px !important; border-radius: 0 16px 16px 0 !important; margin: 32px 0 !important; }
        .presentation-highlight p { color: var(--primary) !important; font-size: 16px !important; font-style: italic !important; margin: 0 !important; font-weight: 500 !important; }
        
        .presentation-image { position: relative !important; }
        .presentation-image-box { width: 100% !important; height: 500px !important; border-radius: 24px !important; overflow: hidden !important; }
        .presentation-image-box img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
        .presentation-placeholder { width: 100% !important; height: 100% !important; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%) !important; display: flex !important; align-items: center !important; justify-content: center !important; }
        .presentation-placeholder svg { width: 100px !important; height: 100px !important; color: var(--white) !important; opacity: 0.2 !important; }
        .presentation-accent { position: absolute !important; width: 200px !important; height: 200px !important; background: var(--accent) !important; border-radius: 24px !important; bottom: -30px !important; right: -30px !important; z-index: -1 !important; }

        /* Services Overview */
        .services-overview { padding: 100px 0 !important; background: var(--light-gray) !important; }
        .services-overview-text { max-width: 800px !important; margin: 0 auto !important; text-align: center !important; }
        .services-overview-text p { color: var(--gray) !important; font-size: 17px !important; line-height: 1.8 !important; margin-bottom: 20px !important; }

        /* Quote Section */
        .quote-section { padding: 80px 0 !important; background: var(--primary) !important; position: relative !important; overflow: hidden !important; }
        .quote-section::before { content: '' !important; position: absolute !important; width: 300px !important; height: 300px !important; background: var(--accent) !important; border-radius: 50% !important; top: -150px !important; left: -100px !important; opacity: 0.1 !important; }
        .quote-content { display: flex !important; align-items: center !important; gap: 40px !important; max-width: 900px !important; margin: 0 auto !important; position: relative !important; z-index: 1 !important; }
        .quote-icon { width: 80px !important; height: 80px !important; background: var(--accent) !important; border-radius: 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
        .quote-icon svg { width: 40px !important; height: 40px !important; color: var(--white) !important; }
        .quote-text { font-family: 'Playfair Display', serif !important; font-size: 22px !important; color: var(--white) !important; line-height: 1.7 !important; font-style: italic !important; }

        /* Missions Section */
        .missions { padding: 100px 0 !important; background: var(--white) !important; }
        .missions-intro { max-width: 700px !important; margin: 0 auto 60px !important; text-align: center !important; }
        .missions-intro p { color: var(--gray) !important; font-size: 17px !important; line-height: 1.8 !important; }
        
        .missions-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 32px !important; }
        .mission-card { background: var(--light-gray) !important; border-radius: 24px !important; padding: 48px 36px !important; position: relative !important; overflow: hidden !important; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important; }
        .mission-card::before { content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 5px !important; background: var(--accent) !important; transform: scaleX(0) !important; transition: transform 0.4s !important; }
        .mission-card:hover { background: var(--white) !important; box-shadow: 0 25px 60px rgba(0,0,0,0.1) !important; transform: translateY(-10px) !important; }
        .mission-card:hover::before { transform: scaleX(1) !important; }
        
        .mission-number { width: 64px !important; height: 64px !important; background: var(--primary) !important; border-radius: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 28px !important; transition: all 0.4s !important; }
        .mission-card:hover .mission-number { background: var(--accent) !important; transform: rotate(5deg) scale(1.1) !important; }
        .mission-number span { font-family: 'Playfair Display', serif !important; font-size: 28px !important; font-weight: 700 !important; color: var(--white) !important; }
        
        .mission-card .h3 { font-family: 'Playfair Display', serif !important; font-size: 22px !important; font-weight: 600 !important; color: var(--primary) !important; margin-bottom: 16px !important; }
        .mission-card p { color: var(--gray) !important; font-size: 15px !important; line-height: 1.7 !important; }

        /* Values Section */
        .values { padding: 100px 0 !important; background: var(--primary) !important; position: relative !important; overflow: hidden !important; }
        .values::before { content: '' !important; position: absolute !important; width: 500px !important; height: 500px !important; background: var(--accent) !important; border-radius: 50% !important; top: -250px !important; right: -150px !important; opacity: 0.1 !important; }
        .values .section-badge { color: var(--accent-light) !important; }
        .values .section-title { color: var(--white) !important; }
        .values .section-subtitle { color: rgba(255,255,255,0.7) !important; }
        
        .values-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 32px !important; position: relative !important; z-index: 1 !important; }
        .value-card { text-align: center !important; padding: 48px 32px !important; border: 1px solid rgba(255,255,255,0.1) !important; border-radius: 24px !important; transition: all 0.4s !important; }
        .value-card:hover { background: rgba(255,255,255,0.05) !important; border-color: var(--accent) !important; transform: translateY(-8px) !important; }
        
        .value-icon { width: 80px !important; height: 80px !important; background: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%) !important; border-radius: 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 28px !important; transition: transform 0.4s !important; }
        .value-card:hover .value-icon { transform: scale(1.1) rotate(-5deg) !important; }
        .value-icon svg { width: 40px !important; height: 40px !important; color: var(--white) !important; }
        
        .value-card .h3 { font-family: 'Playfair Display', serif !important; font-size: 24px !important; font-weight: 600 !important; color: var(--white) !important; margin-bottom: 16px !important; }
        .value-card p { color: rgba(255,255,255,0.7) !important; font-size: 15px !important; line-height: 1.7 !important; }

        /* Team Section (Optional) */
        .team { padding: 100px 0 !important; background: var(--light-gray) !important; }
        .team-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 32px !important; }
        
        .team-member { background: var(--white) !important; border-radius: 24px !important; overflow: hidden !important; transition: all 0.4s !important; }
        .team-member:hover { transform: translateY(-10px) !important; box-shadow: 0 25px 60px rgba(0,0,0,0.1) !important; }
        
        .team-member-image { width: 100% !important; height: 300px !important; background: var(--primary-pale) !important; position: relative !important; overflow: hidden !important; }
        .team-member-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
        .team-placeholder { width: 100% !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: linear-gradient(135deg, var(--primary-pale) 0%, var(--accent-pale) 100%) !important; }
        .team-placeholder svg { width: 80px !important; height: 80px !important; color: var(--primary) !important; opacity: 0.3 !important; }
        
        .team-member-info { padding: 28px !important; text-align: center !important; }
        .team-member-info .h4 { font-family: 'Playfair Display', serif !important; font-size: 22px !important; font-weight: 600 !important; color: var(--primary) !important; margin-bottom: 8px !important; }
        .team-member-info span { display: block !important; color: var(--accent) !important; font-size: 14px !important; font-weight: 600 !important; margin-bottom: 12px !important; }
        .team-member-info p { color: var(--gray) !important; font-size: 14px !important; line-height: 1.6 !important; }

        /* CTA Section */
        .cta { padding: 100px 0 !important; background: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%) !important; position: relative !important; overflow: hidden !important; }
        .cta::before { content: '' !important; position: absolute !important; width: 400px !important; height: 400px !important; background: var(--white) !important; border-radius: 50% !important; top: -200px !important; left: -100px !important; opacity: 0.1 !important; }
        .cta-content { text-align: center !important; position: relative !important; z-index: 1 !important; }
        .cta .h2 { font-family: 'Playfair Display', serif !important; font-size: clamp(32px, 4vw, 44px) !important; font-weight: 600 !important; color: var(--white) !important; margin-bottom: 16px !important; }
        .cta p { color: rgba(255,255,255,0.9) !important; font-size: 18px !important; margin-bottom: 32px !important; max-width: 500px !important; margin-left: auto !important; margin-right: auto !important; }
        .cta-buttons { display: flex !important; gap: 16px !important; justify-content: center !important; flex-wrap: wrap !important; }
        .cta-btn { display: inline-flex !important; align-items: center !important; gap: 12px !important; padding: 18px 36px !important; border-radius: 50px !important; text-decoration: none !important; font-weight: 700 !important; font-size: 16px !important; transition: all 0.3s !important; }
        .cta-btn.primary { background: var(--white) !important; color: var(--accent) !important; }
        .cta-btn.primary:hover { background: var(--primary) !important; color: var(--white) !important; transform: translateY(-3px) !important; }
        .cta-btn.outline { background: transparent !important; border: 2px solid var(--white) !important; color: var(--white) !important; }
        .cta-btn.outline:hover { background: var(--white) !important; color: var(--accent) !important; }
        .cta-btn svg { width: 20px !important; height: 20px !important; }



/* Services Preview */
.services-preview { padding: 100px 0 !important; }
.services-header { text-align: center !important; margin-bottom: 60px !important; }
.services-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.service-link { background: var(--light-gray) !important; border-radius: 20px !important; padding: 32px !important; display: flex !important; align-items: center !important; gap: 20px !important; text-decoration: none !important; transition: all 0.4s !important; border: 2px solid transparent !important; }
.service-link:hover { background: var(--white) !important; border-color: var(--accent) !important; box-shadow: 0 10px 40px rgba(224,120,48,0.1) !important; transform: translateX(8px) !important; }
.service-link-icon { width: 56px !important; height: 56px !important; background: var(--primary) !important; border-radius: 16px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; transition: background 0.3s !important; }
.service-link:hover .service-link-icon { background: var(--accent) !important; }
.service-link-icon svg { width: 28px !important; height: 28px !important; color: var(--white) !important; }
.service-link-content .h4 { font-family: 'Playfair Display', serif !important; font-size: 18px !important; font-weight: 600 !important; color: var(--primary) !important; margin-bottom: 4px !important; }
.service-link-content p { color: var(--gray) !important; font-size: 14px !important; }

/* Responsive */
        @media (max-width: 1024px) {
            .hero-about-content { grid-template-columns: 1fr !important; gap: 60px !important; text-align: center !important; }
            .hero-about-visual { order: -1 !important; }
            .floating-stat { position: relative !important; display: inline-block !important; margin: 10px !important; left: auto !important !important; right: auto !important !important; top: auto !important !important; bottom: auto !important !important; }
            .presentation-grid { grid-template-columns: 1fr !important; gap: 60px !important; }
            .presentation-image { order: -1 !important; }
            .missions-grid { grid-template-columns: 1fr !important; }
            .values-grid { grid-template-columns: 1fr !important; }
            .team-grid { grid-template-columns: 1fr !important; }
            .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 40px !important; }
            .quote-content { flex-direction: column !important; text-align: center !important; }
        }
        @media (max-width: 768px) {
            .presentation-accent {
	position: absolute !important;
	width: 200px !important;
	height: 200px !important;
	background: var(--accent) !important;
	border-radius: 24px !important;
	bottom: -30px !important;
	right: -10px !important;
	z-index: -1 !important;
}
            .nav-links { display: none !important; }
            .hero-about { padding: 50px 0 80px !important; }
            .hero-about-image { height: 300px !important; }
            .presentation-image-box { height: 350px !important; }
            .services-grid { grid-template-columns: 1fr !important; }
            .footer-grid { grid-template-columns: 1fr !important; }
            .footer-bottom { flex-direction: column !important; gap: 20px !important; text-align: center !important; }
            .cta-buttons { flex-direction: column !important; align-items: center !important; }
        }
        
        /* Animations */
        html { scroll-behavior: smooth; }
        
        .animate-on-scroll {
            opacity: 0;
            transform: translateY(40px);
            transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), 
                        transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .animate-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Hero animations */
        .hero-about-text { animation: slideUpHero 1s cubic-bezier(0.4, 0, 0.2, 1) 0.2s both; }
        .hero-about-visual { animation: slideUpHero 1s cubic-bezier(0.4, 0, 0.2, 1) 0.4s both; }
        
        @keyframes slideUpHero {
            from { opacity: 0; transform: translateY(60px); }
            to { opacity: 1; transform: translateY(0); }
        }/* End custom CSS */