*{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0d2b4e;--navy-mid:#1a3f6f;--blue:#1a5fa8;--blue-light:#3b82c4;--gold:#c9a84c;--gold-light:#e8c76b;--gray-dark:#2d3748;--gray-mid:#4a5568;--gray-light:#718096;--bg:#f7f8fa;--bg-white:#fff;--border:#e2e8f0;--text:#1a202c;--text-muted:#4a5568}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg-white);font-family:"Source Sans 3",sans-serif;font-size:16px;line-height:1.7}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.animate-fade-up{opacity:0;animation:.8s forwards fadeInUp}.animate-fade-left{opacity:0;animation:.8s forwards fadeInLeft}.animate-fade-right{opacity:0;animation:.8s forwards fadeInRight}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}[data-animate]{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}[data-animate].visible{opacity:1;transform:translateY(0)}nav{background:var(--navy);z-index:100;border-bottom:3px solid var(--gold);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1100px;height:70px;margin:0 auto;padding:0 2rem;display:flex}.logo-img{object-fit:contain;filter:drop-shadow(0 2px 8px #0006);width:auto;height:64px;transition:transform .2s}.nav-inner:hover .logo-img{transform:scale(1.05)}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:#ffffffd9;letter-spacing:.5px;text-transform:uppercase;border-bottom:2px solid #0000;padding:4px 0;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s}.nav-links a:hover{color:#fff;border-bottom-color:var(--gold)}.nav-cta{background:var(--gold)!important;color:var(--navy)!important;border-bottom:none!important;padding:8px 20px!important;font-weight:700!important}.nav-cta:hover{background:var(--gold-light)!important;border-bottom:none!important}.hamburger{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;display:none}.hamburger span{background:#fff;width:24px;height:2px;transition:all .3s;display:block}.mobile-menu{background:var(--navy-mid);border-top:1px solid #ffffff1a;padding:1rem 2rem;display:none}.mobile-menu a{color:#ffffffd9;letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid #ffffff14;padding:10px 0;font-size:14px;font-weight:600;text-decoration:none;display:block}.mobile-menu a:last-child{border-bottom:none}.hero{background:50%/cover no-repeat;padding:120px 2rem 100px;animation:1s fadeInUp;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg,#050e1cb8 0%,#050e1c8c 55%,#050e1c26 100%);animation:1.2s fadeInUp;position:absolute;inset:0}.hero-inner{max-width:1100px;margin:0 auto;position:relative}.hero-badge{border:1px solid var(--gold);color:var(--gold-light);letter-spacing:3px;text-transform:uppercase;background:#050e1ca6;margin-bottom:1.5rem;padding:6px 18px;font-size:11px;font-weight:700;animation:.8s .2s both fadeInUp;display:inline-block}.hero h1{color:#fff;text-shadow:0 2px 8px #000000e6,0 4px 24px #000000b3;max-width:720px;margin-bottom:1.2rem;font-family:Playfair Display,serif;font-size:52px;font-weight:700;line-height:1.15;animation:.8s .3s both fadeInUp}.hero h1 span{color:var(--gold-light);text-shadow:0 2px 8px #000000e6;animation:.8s .5s both fadeInUp}.hero-slogan{color:#ffffffeb;border-left:3px solid var(--gold);text-shadow:0 2px 8px #000000e6;max-width:540px;margin-bottom:2.5rem;padding-left:1rem;font-size:19px;font-style:italic;font-weight:400;animation:.8s .6s both fadeInUp}.hero-btns{flex-wrap:wrap;gap:1rem;animation:.8s .7s both fadeInUp;display:flex}.btn-primary{background:var(--gold);color:var(--navy);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;padding:14px 32px;font-size:14px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-block;position:relative;overflow:hidden}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 25px #c9a84c4d}.btn-primary:hover:before{left:100%}.btn-outline{color:var(--gold-light);letter-spacing:1px;text-transform:uppercase;border:2px solid var(--gold);cursor:pointer;background:#050e1c80;padding:14px 32px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block;position:relative;overflow:hidden}.btn-outline:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-outline:hover{border-color:var(--gold-light);color:var(--gold-light);background:#00000080;transform:translateY(-2px)}.btn-outline:hover:before{left:100%}.hero-stats{border-top:1px solid #c9a84c80;flex-wrap:wrap;gap:3rem;margin-top:4rem;padding-top:2rem;animation:.8s .8s both fadeInUp;display:flex}.stat-item{text-align:center;transition:transform .3s}.stat-item:hover{transform:scale(1.05)}.stat-num{color:var(--gold-light);font-family:Playfair Display,serif;font-size:36px;font-weight:700}.stat-label{color:#ffffffd9;text-transform:uppercase;letter-spacing:1.5px;text-shadow:0 1px 6px #000000e6;margin-top:4px;font-size:11px}section{padding:80px 2rem}.container{max-width:1100px;margin:0 auto}.section-label{letter-spacing:3px;text-transform:uppercase;color:var(--blue);margin-bottom:.5rem;font-size:11px;font-weight:700}.section-title{color:var(--navy);margin-bottom:.8rem;font-family:Playfair Display,serif;font-size:36px;font-weight:700;line-height:1.2}.section-sub{color:var(--text-muted);max-width:600px;font-size:17px;line-height:1.75}.divider{background:var(--gold);width:60px;height:3px;margin:1rem 0 2.5rem}.about{background:var(--bg)}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;margin-top:3rem;display:grid}.about-visual{background:var(--navy);margin-top:1rem;padding:2.5rem;position:relative}.about-visual:after{content:"";border:2px solid var(--gold);z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;bottom:-14px;right:-14px}.about-visual-inner{z-index:1;position:relative}.value-item{border-left:3px solid var(--gold);margin-bottom:1.5rem;padding-left:1.2rem}.value-item h4{color:#fff;margin-bottom:4px;font-family:Playfair Display,serif;font-size:16px}.value-item p{color:#fff9;font-size:14px;line-height:1.6}.about-text p{color:var(--text-muted);margin-bottom:1.2rem;font-size:16px;line-height:1.8}.about-subtitle{color:var(--navy);margin:1.5rem 0 .5rem;font-family:Playfair Display,serif;font-size:20px;font-weight:600}.services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:3rem;display:grid}.service-card{background:var(--bg-white);border:1px solid var(--border);border-top:4px solid var(--blue);opacity:0;padding:2rem;transition:all .25s;animation:.6s forwards fadeInUp;transform:translateY(20px)}.service-card:hover{border-top-color:var(--gold);transform:translateY(-8px);box-shadow:0 12px 40px #0d2b4e26}.service-icon{background:var(--navy);border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1.2rem;transition:transform .3s;display:flex}.service-card:hover .service-icon{transform:rotate(5deg)scale(1.1)}.service-icon svg{color:#fff;width:24px;height:24px;stroke:var(--gold);stroke-width:1px}.service-card h3{color:var(--navy);margin-bottom:.7rem;font-family:Playfair Display,serif;font-size:19px;line-height:1.3;transition:color .3s}.service-card:hover h3{color:var(--blue)}.service-card p{color:var(--text-muted);font-size:14px;line-height:1.75}.service-tag{letter-spacing:1.5px;text-transform:uppercase;color:var(--blue);margin-top:1rem;font-size:11px;font-weight:700;transition:color .3s;display:inline-block}.service-card:hover .service-tag{color:var(--gold)}.expertises{background:var(--navy)}.expertises .section-label{color:var(--gold-light)}.expertises .section-title{color:#fff}.expertises .section-sub{color:#fff9}.expertises .divider{background:var(--gold)}.exp-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem;display:grid}.exp-card{border:1px solid #ffffff1a;border-left:4px solid var(--gold);opacity:0;background:#ffffff0d;padding:2.5rem;transition:all .3s;animation:.6s forwards fadeInUp;transform:translateY(20px)}.exp-card:hover{background:#ffffff14;transform:translateY(-5px);box-shadow:0 10px 30px #0003}.exp-card h3{color:#fff;margin-bottom:1rem;font-family:Playfair Display,serif;font-size:21px;line-height:1.3}.exp-phase{border-top:1px solid #ffffff1a;margin-top:1.5rem;padding-top:1.2rem}.exp-phase h4{color:var(--gold-light);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:.6rem;font-size:13px;font-weight:700}.exp-phase p{color:#fff9;font-size:14px;line-height:1.7}.exp-list{margin-top:.5rem;list-style:none}.exp-list li{color:#fff9;padding-left:1rem;font-size:13px;line-height:1.7;transition:color .3s;position:relative}.exp-list li:hover{color:#fff}.exp-list li:before{content:"›";color:var(--gold);transition:transform .3s;position:absolute;left:0}.exp-list li:hover:before{transform:translate(3px)}.exp-targets{flex-wrap:wrap;gap:8px;margin-top:1.5rem;display:flex}.exp-tag{color:var(--gold-light);letter-spacing:1px;text-transform:uppercase;background:#c9a84c1f;border:1px solid #c9a84c4d;padding:4px 12px;font-size:11px;font-weight:600;transition:all .3s}.exp-card:hover .exp-tag{background:#c9a84c33;border-color:#c9a84c80;transform:translateY(-2px)}.valeurs{background:var(--bg)}.valeurs-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:3rem;display:grid}.valeur-card{background:var(--bg-white);border:1px solid var(--border);text-align:center;opacity:0;padding:2rem;transition:all .3s;animation:.6s forwards fadeInUp;transform:scale(.95)}.valeur-card:hover{border-color:var(--gold);transform:scale(1)translateY(-5px);box-shadow:0 8px 30px #c9a84c33}.valeur-icon{margin-bottom:1rem;font-size:36px;transition:transform .3s;display:block}.valeur-card:hover .valeur-icon{transform:scale(1.1)rotate(5deg)}.valeur-card h3{color:var(--navy);margin-bottom:.6rem;font-family:Playfair Display,serif;font-size:18px;transition:color .3s}.valeur-card:hover h3{color:var(--blue)}.valeur-card p{color:var(--text-muted);font-size:14px;line-height:1.7;transition:color .3s}.valeur-card:hover p{color:var(--text)}.equipe-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:3rem;display:grid}.team-card{text-align:center;opacity:0;animation:.6s forwards fadeInUp;transform:translateY(20px)}.team-avatar{background:var(--navy);width:100px;height:100px;color:var(--gold-light);border:3px solid var(--gold);justify-content:center;align-items:center;margin:0 auto 1.2rem;font-family:Playfair Display,serif;font-size:28px;transition:all .4s;animation:3s ease-in-out infinite float;display:flex}.team-card:hover .team-avatar{transform:scale(1.1)rotate(5deg);box-shadow:0 0 20px #c9a84c66}.team-card h4{color:var(--navy);margin-bottom:4px;font-family:Playfair Display,serif;font-size:19px;transition:color .3s}.team-card:hover h4{color:var(--blue)}.team-card .team-role{color:var(--blue);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;font-size:12px;font-weight:700}.team-card p{color:var(--text-muted);font-size:13px;transition:color .3s}.team-card:hover p{color:var(--text)}.engagements{background:var(--navy);padding:70px 2rem}.engagements .section-label{color:var(--gold-light)}.engagements .section-title{color:#fff}.engagements .divider{background:var(--gold)}.eng-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-top:3rem;display:grid}.eng-item{border:1px solid #ffffff14;border-top:3px solid var(--gold);background:#ffffff0a;padding:1.8rem}.eng-num{color:#c9a84c40;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:40px;font-weight:700;line-height:1}.eng-item h4{color:#fff;margin-bottom:.5rem;font-size:15px;font-weight:600}.eng-item p{color:#ffffff8c;font-size:13px;line-height:1.7}.temo-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:3rem;display:grid}.temo-card{background:var(--bg-white);border:1px solid var(--border);opacity:0;padding:2rem;transition:all .3s;animation:.6s forwards fadeInUp;position:relative;transform:translateY(30px)}.temo-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000014}.temo-quote{color:var(--gold);opacity:.3;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:72px;line-height:.8;transition:opacity .3s;display:block}.temo-card:hover .temo-quote{opacity:.5}.temo-card p{color:var(--text-muted);margin-bottom:1.5rem;font-size:15px;font-style:italic;line-height:1.8;transition:color .3s}.temo-card:hover p{color:#555}.temo-author{border-top:1px solid var(--border);align-items:center;gap:12px;padding-top:1rem;transition:border-color .3s;display:flex}.temo-card:hover .temo-author{border-color:var(--gold)}.temo-avatar{background:var(--navy);width:42px;height:42px;color:var(--gold-light);flex-shrink:0;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:14px;font-weight:700;transition:transform .3s;display:flex}.temo-card:hover .temo-avatar{transform:scale(1.1)}.temo-name{color:var(--navy);font-size:14px;font-weight:700}.temo-role{color:var(--text-muted);font-size:12px}.blog{background:var(--bg)}.blog-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:3rem;display:grid}.blog-card{border:1px solid var(--border);background:var(--bg-white);opacity:0;transition:all .3s;animation:.6s forwards fadeInUp;overflow:hidden;transform:translateY(30px)}.blog-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000014}.blog-img{background:linear-gradient(135deg,var(--navy),var(--blue));justify-content:center;align-items:center;height:140px;display:flex;position:relative;overflow:hidden}.blog-img:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.blog-card:hover .blog-img:before{left:100%}.blog-img span{color:#ffffff1f;font-family:Playfair Display,serif;font-size:42px;font-weight:700;transition:transform .3s}.blog-card:hover .blog-img span{transform:scale(1.1)}.blog-body{padding:1.5rem}.blog-cat{letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:.5rem;font-size:10px;font-weight:700;transition:color .3s}.blog-card:hover .blog-cat{color:var(--gold)}.blog-body h4{color:var(--navy);margin-bottom:.6rem;font-family:Playfair Display,serif;font-size:18px;line-height:1.3;transition:color .3s}.blog-card:hover .blog-body h4{color:var(--blue)}.blog-body p{color:var(--text-muted);font-size:13px;line-height:1.7;transition:color .3s}.blog-card:hover .blog-body p{color:#555}.blog-link{letter-spacing:1px;text-transform:uppercase;color:var(--blue);border-bottom:2px solid var(--gold);margin-top:1rem;padding-bottom:2px;font-size:12px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.blog-card:hover .blog-link{color:var(--gold);border-color:var(--gold-light)}.contact{background:var(--navy)}.contact .section-label{color:var(--gold-light)}.contact .section-title{color:#fff}.contact .section-sub{color:#fff9}.contact .divider{background:var(--gold)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;margin-top:3rem;display:grid}.contact-form{flex-direction:column;gap:1rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#ffffff8c;letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:600;transition:color .3s}.form-group:focus-within label{color:var(--gold)}.form-group input,.form-group select,.form-group textarea{color:#fff;background:#ffffff12;border:1px solid #ffffff26;border-radius:0;outline:none;padding:12px 16px;font-family:"Source Sans 3",sans-serif;font-size:15px;transition:all .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff47}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--gold);background:#ffffff1a;box-shadow:0 0 0 3px #c9a84c1a}.form-group textarea{resize:vertical;min-height:120px}.form-group select{appearance:none;cursor:pointer}.form-group select option{color:#fff;background:#0d2b4e}.contact-info{padding-top:.5rem}.contact-item{opacity:0;align-items:flex-start;gap:1rem;margin-bottom:2rem;animation:.6s forwards fadeInLeft;display:flex;transform:translate(-20px)}.contact-item:hover .contact-item-icon{transform:scale(1.1)rotate(5deg)}.contact-item-icon{background:#c9a84c1f;border:1px solid #c9a84c4d;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;transition:all .3s;display:flex}.contact-item-icon svg{width:20px;height:20px;stroke:var(--gold);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.contact-item-icon{color:var(--gold)}.contact-item h5{color:#ffffff80;text-transform:uppercase;letter-spacing:2px;margin-bottom:4px;font-size:11px;font-weight:600;transition:color .3s}.contact-item p{color:#fff;font-size:15px;line-height:1.6;transition:color .3s}.contact-item:hover h5{color:var(--gold-light)}.contact-item:hover p{color:#fff}.contact-item a{color:var(--gold-light);text-decoration:none;transition:all .3s}.contact-item a:hover{color:var(--gold);text-decoration:underline}.contact-director{background:#c9a84c14;border:1px solid #c9a84c33;margin-bottom:2rem;padding:1.5rem;transition:all .3s}.contact-director:hover{background:#c9a84c1f;border-color:#c9a84c66;transform:translate(5px)}.contact-director h4{color:#fff;margin-bottom:4px;font-family:Playfair Display,serif;font-size:18px}.contact-director p{color:#ffffff8c;text-transform:uppercase;letter-spacing:1.5px;font-size:12px}footer{background:#050e1c;border-top:1px solid #ffffff12;padding:2.5rem 2rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;margin:0 auto;display:flex}.footer-logo img{opacity:.8;height:40px;transition:opacity .3s,transform .3s}.footer-logo:hover img{opacity:1;transform:scale(1.05)}.footer-info p{color:#ffffff4d;margin:2px 0;font-size:13px}.footer-info span{color:var(--gold)}@media (width<=900px){.hero h1{font-size:36px}.about-grid,.exp-grid,.contact-grid,.form-row{grid-template-columns:1fr}.hero-stats{gap:1.5rem}.about-visual:after,nav .nav-links{display:none}.hamburger{display:flex}.mobile-menu.open{display:block}.footer-inner{flex-direction:column;align-items:flex-start}.footer-info p{text-align:left}}@media (width<=600px){section{padding:60px 1.2rem}.hero{padding:70px 1.2rem 60px}.hero h1{font-size:28px}.hero-btns{flex-direction:column}.btn-primary,.btn-outline{text-align:center}.services-grid,.valeurs-grid,.equipe-grid,.eng-grid{grid-template-columns:1fr}}#root{display:contents}
