body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333}.App{min-height:100vh}.navbar{background:#1a1a2e;padding:1rem 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px #0000001a}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;gap:1rem;color:#fff;font-size:1.3rem;font-weight:700}.nav-logo img{height:40px;width:auto;border-radius:5px}.nav-menu{display:flex;gap:2rem}.nav-menu a{color:#fff;text-decoration:none;transition:color .3s}.nav-menu a:hover{color:#00d4ff}.lang-toggle{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.5rem 1rem;border-radius:20px;cursor:pointer;font-weight:700;transition:all .3s}.lang-toggle:hover{transform:scale(1.05);box-shadow:0 5px 15px #667eea66}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer}.nav-toggle span{width:25px;height:3px;background:#fff;transition:.3s}.hero{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);color:#fff;padding:8rem 2rem;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 1px,transparent 1px);background-size:50px 50px;animation:moveBackground 20s linear infinite}@keyframes moveBackground{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.hero-content{position:relative;z-index:2}.hero-content h1{font-size:3rem;margin-bottom:1rem;animation:fadeInUp 1s,glow 2s ease-in-out infinite alternate}@keyframes glow{0%{text-shadow:0 0 10px rgba(255,255,255,.5)}to{text-shadow:0 0 20px rgba(255,255,255,.8),0 0 30px rgba(255,255,255,.6)}}.hero-content p{font-size:1.3rem;margin-bottom:2rem;opacity:.9}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:1rem 2rem;border-radius:50px;text-decoration:none;font-weight:700;transition:transform .3s,box-shadow .3s}.btn-primary{background:#fff;color:#667eea}.btn-secondary{background:transparent;color:#fff;border:2px solid white}.btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 25px #0000004d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.services{padding:5rem 2rem;background:#f8f9fa}.container{max-width:1200px;margin:0 auto}.services h2,.about h2,.portfolio h2,.formations h2{text-align:center;font-size:2.5rem;margin-bottom:1rem;color:#1a1a2e}.section-subtitle{text-align:center;color:#666;margin-bottom:3rem;font-size:1.1rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.service-card{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 5px 15px #0000001a;transition:all .4s cubic-bezier(.175,.885,.32,1.275);text-align:center;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .5s}.service-card:hover:before{left:100%}.service-card:hover{transform:translateY(-15px) rotate(2deg);box-shadow:0 15px 35px #667eea4d}.service-icon{font-size:3rem;margin-bottom:1rem;display:inline-block;animation:bounce 2s infinite}.service-card:hover .service-icon{animation:spin .6s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}.service-card h3{color:#667eea;margin-bottom:1rem;transition:color .3s}.service-card:hover h3{color:#f093fb}.formations{padding:5rem 2rem;background:#fff}.category-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}.category-btn{padding:.7rem 1.5rem;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:25px;cursor:pointer;font-weight:700;transition:all .3s}.category-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.category-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:scale(1.05)}.formations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:3rem}.formation-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:2rem;border-radius:10px;box-shadow:0 5px 15px #0000001a;transition:all .4s cubic-bezier(.175,.885,.32,1.275);text-align:center;border-left:4px solid #667eea;position:relative;overflow:hidden}.formation-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(102,126,234,.1) 0%,transparent 70%);transform:scale(0);transition:transform .6s}.formation-card:hover:after{transform:scale(1)}.formation-card:hover{transform:translateY(-15px) scale(1.03);box-shadow:0 20px 40px #667eea4d;border-left-color:#f093fb}.formation-icon{font-size:3rem;margin-bottom:1rem;display:inline-block;animation:pulse 2s infinite}.formation-card:hover .formation-icon{animation:wiggle .5s}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.formation-card h3{color:#1a1a2e;margin-bottom:1rem}.formation-duree{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd;color:#667eea;font-weight:700}.formations-cta{text-align:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff}.formations-cta p{font-size:1.2rem;margin-bottom:1rem}.formations-cta .btn{background:#fff;color:#667eea}.btn-details{margin-top:1rem;padding:.6rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:25px;cursor:pointer;font-weight:700;transition:all .3s;position:relative;z-index:1;overflow:hidden}.btn-details:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .4s,height .4s;z-index:-1}.btn-details:hover:before{width:300px;height:300px}.btn-details:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 25px #667eea66}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem}.modal-content{background:#fff;border-radius:15px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideIn .3s}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:#666;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .3s}.modal-close:hover{background:#f0f0f0}.modal-header{text-align:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:15px 15px 0 0}.modal-icon{font-size:4rem;display:block;margin-bottom:1rem}.modal-header h2{margin:0;color:#fff}.modal-duree{margin-top:.5rem;opacity:.9}.modal-body{padding:2rem}.modal-section{margin-bottom:2rem}.modal-section h3{color:#667eea;margin-bottom:1rem}.modal-section ul{list-style:none;padding:0}.modal-section ul li{padding:.5rem 0 .5rem 1.5rem;position:relative}.modal-section ul li:before{content:"✓";position:absolute;left:0;color:#667eea;font-weight:700}.modal-footer{padding:1.5rem 2rem;border-top:1px solid #eee;text-align:center}.about{padding:5rem 2rem}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.about-text p{margin-bottom:1rem;color:#555;line-height:1.8}.about-stats{display:flex;gap:2rem;margin-top:2rem}.stat{text-align:center}.stat h3{font-size:2.5rem;color:#667eea;animation:countUp 2s ease-out}@keyframes countUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.about-image img{width:100%;max-width:400px;border-radius:15px;box-shadow:0 10px 30px #0003}.portfolio{padding:5rem 2rem;background:#f8f9fa}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.portfolio-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px #0000001a;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.portfolio-card:hover{transform:translateY(-15px) scale(1.02);box-shadow:0 20px 40px #764ba24d}.portfolio-image{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);padding:3rem;text-align:center;position:relative;overflow:hidden}.portfolio-image:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.portfolio-card:hover .portfolio-image:before{width:300px;height:300px}.portfolio-placeholder{font-size:4rem;position:relative;z-index:1;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.portfolio-info{padding:1.5rem}.portfolio-category{color:#667eea;font-size:.9rem;font-weight:700}.portfolio-info h3{margin:.5rem 0;color:#1a1a2e}.footer{background:#1a1a2e;color:#fff;padding:3rem 2rem 1rem}.contact{padding:5rem 2rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.contact-content{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;margin-top:3rem}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-item{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:#fff;border-radius:10px;box-shadow:0 5px 15px #0000001a;transition:transform .3s}.contact-item:hover{transform:translate(10px)}.contact-icon{font-size:2.5rem;min-width:60px;text-align:center}.contact-item h3{color:#667eea;margin-bottom:.3rem}.contact-item p{color:#666;margin:0}.contact-form{background:#fff;padding:2.5rem;border-radius:15px;box-shadow:0 10px 30px #0000001a}.form-group{margin-bottom:1.5rem}.form-group input,.form-group textarea{width:100%;padding:1rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical}.contact-form .btn{width:100%;padding:1rem 2rem;font-size:1.1rem}.contact-form .btn:disabled{opacity:.6;cursor:not-allowed}.form-success{margin-top:1rem;padding:1rem;background:#d4edda;color:#155724;border-radius:8px;text-align:center;animation:slideIn .3s}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3,.footer-section h4{margin-bottom:1rem;color:#00d4ff}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section a{color:#fff;text-decoration:none;transition:color .3s}.footer-section a:hover{color:#00d4ff}.social-links{display:flex;gap:1rem;font-size:1rem}.social-links a{display:flex;align-items:center;gap:.5rem}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);color:#fff9}@media(max-width:768px){.nav-menu{position:fixed;left:-100%;top:70px;flex-direction:column;background:#1a1a2e;width:100%;text-align:center;transition:.3s;padding:2rem 0}.nav-menu.active{left:0}.nav-toggle{display:flex}.hero-content h1{font-size:2rem}.about-content{grid-template-columns:1fr}.about-stats{justify-content:space-around}.contact-content{grid-template-columns:1fr}.contact-form{padding:1.5rem}}.form-error{margin-top:1rem;padding:1rem;background:#f8d7da;color:#721c24;border-radius:8px;text-align:center;animation:slideIn .3s}
