:root{--couleur-primaire:#0c3a61;--couleur-primaire-fonce:#0f4878;--couleur-secondaire:white;--couleur-secondaire-fonce:#dddddd;--font-inter:var(--font-inter)}body,html{font-family:var(--font-inter),"Source Sans Pro",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}#root{min-height:100vh;display:flex;flex-direction:column}header{background-color:var(--couleur-secondaire)}footer{margin-top:auto}body,html{overflow-x:hidden;width:100%;margin:0;padding:0}header{font-family:Roboto,sans-serif;width:100%}.container{width:100%;padding:0 15px;box-sizing:border-box}.top-bar{background-color:#104a78;color:white;padding:10px 0;width:100%}.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.tagline{font-size:16px;flex:1 1}.contact-info{display:flex;align-items:center;justify-content:flex-end;gap:20px}.nav-reference-slider{display:flex;align-items:center;margin-right:30px;position:relative}.reference-title{font-size:18px;font-weight:700;color:#104a78;margin-right:15px;white-space:nowrap}.reference-logos-container{width:300px;overflow:hidden;position:relative}.reference-logos{display:flex;align-items:center;gap:30px;white-space:nowrap}.reference-logos img{height:33px;padding-top:3px;width:auto;object-fit:contain;display:inline-block}.reference-logos>span{display:inline-block!important;height:33px!important;width:auto!important}.reference-logos>span img{height:33px!important;width:auto!important;object-fit:contain!important}.contact-info a[href="/blog"]{color:#104a78;text-decoration:none;font-size:16px;font-weight:700;margin-right:50px;position:relative;padding-bottom:2px;transition:color .3s ease}.contact-info a[href="/blog"]:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:#81c9e6;transition:width .3s ease}.contact-info a[href="/blog"]:hover{color:#81c9e6}.contact-info a[href="/blog"]:hover:after{width:100%}@keyframes loadingSlide{0%{left:0;width:0}50%{left:0;width:100%}to{left:100%;width:0}}.contact-info a[href="/blog"].loading:after,.contact-info a[href="/blog"].loading:hover:after{animation:loadingSlide 1.5s ease-in-out infinite}.mail-icon,.phone-icon{margin-right:5px}.mail-icon{filter:invert(16%) sepia(85%) saturate(1500%) hue-rotate(195deg) brightness(90%) contrast(105%)}.mail-contact,.phone-number{color:#104a78;font-weight:700}.client-area,.mail-contact,.phone-number{text-decoration:none;font-size:16px;white-space:nowrap}.client-area{color:white;padding:8px 15px;border-radius:3px;transition:background-color .3s}.client-area,.client-area:hover{background-color:#104a78}.main-nav{background-color:white;box-shadow:0 2px 4px rgba(0,0,0,.1);width:100%}.main-nav .container{display:flex;justify-content:space-between;align-items:stretch;padding:10px 15px;height:80px}.logo img{height:60px}.brand,.logo img{margin-right:20px}.brand{display:flex}.brand a{font-family:Monoton,cursive;color:#104a78;text-decoration:none;font-size:24px}.brand .highlight{color:#81c9e6}.nav-links{display:flex;list-style-type:none;margin:0;padding:0}.nav-links li{margin-right:70px}.nav-links a{color:#104a78;text-decoration:none;text-transform:uppercase;font-size:16px;font-weight:700}.nav-links a:hover{color:#81c9e6}.contact-section-header{flex-direction:column}.contact-item,.contact-section-header{display:flex;gap:5px;align-items:center}@media (max-width:1024px){.tagline{display:none}.top-bar .container{justify-content:center}.main-nav .container{justify-content:space-between;flex-wrap:nowrap;height:auto;padding:10px 15px}.brand,.main-nav .container{flex-direction:row;align-items:center}.brand,.logo img{margin-right:10px}.logo img{height:60px}.brand a{font-size:20px}.contact-info{flex-wrap:wrap;gap:15px}.contact-section-header{order:1;width:100%}.client-area{order:2}.nav-links{order:0;margin-bottom:5px}.nav-reference-slider{order:-1;width:100%;justify-content:center;margin-bottom:10px;margin-right:0}.reference-logos-container{width:60%}}@media (max-width:768px){.main-nav .container,.top-bar .container{flex-direction:column;align-items:center}.main-nav .container{height:auto;padding:10px 15px}.brand{margin-bottom:10px}.contact-info{flex-direction:column;gap:10px}.mail-contact,.phone-number{margin-right:10px;margin-bottom:0;font-size:16px}.client-area,.contact-info a[href="/blog"]{font-size:14px;padding:5px 8px}.contact-info a[href="/blog"]{margin-right:10px}.nav-links{flex-direction:column;align-items:center;width:100%;margin-top:10px}.nav-links li{margin:5px 0}.nav-reference-slider{width:100%;flex-direction:column;margin-bottom:15px}.reference-title{margin-bottom:5px;font-size:16px}.reference-logos-container{width:90%}.reference-logos img{height:25px}}.footer{flex-shrink:0;background-color:#104a78;color:white;width:100%;box-sizing:border-box;padding:40px 15px;height:auto;min-height:300px;-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:layout;border-top:4px solid #81c9e6;box-shadow:0 -2px 10px rgba(0,0,0,.1)}.footer-container{padding:20px;position:relative}.footer-container,.footer-content{max-width:1200px;margin:0 auto;contain:layout;width:100%}.footer-content{flex-wrap:wrap;justify-content:space-between;gap:40px;padding:0;min-height:220px}.footer-content,.footer-section{display:flex;box-sizing:border-box}.footer-section{flex:1 1;min-width:240px;margin:0;height:auto;min-height:180px;flex-direction:column;align-items:flex-start;text-align:left;contain:content;width:100%;transition:transform .3s ease;position:relative;padding:0 15px}.footer-section:not(:last-child):after{content:"";position:absolute;top:10%;right:0;height:80%;width:1px;background:rgba(255,255,255,.2)}.footer-logo{max-width:85px;height:auto;margin-bottom:15px;aspect-ratio:auto;object-fit:contain;width:85px;display:block;transform:translateZ(0);will-change:transform}.footer-brand{font-size:22px;margin-bottom:15px;font-display:swap;min-height:1.2em;line-height:1.2;width:100%;font-weight:600;letter-spacing:.5px;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.2);text-align:left}.footer-brand .highlight{color:#81c9e6}.footer-address,.footer-copyright{font-size:14px;line-height:1.6;min-height:1.6em;text-align:left;width:100%;margin:5px 0;color:rgba(255,255,255,.9);letter-spacing:.2px}.footer-copyright{margin-top:20px;width:100%;text-align:left;box-sizing:border-box;font-size:13px;color:rgba(255,255,255,.8)}.footer h3{font-size:18px;margin-bottom:18px;color:#81c9e6;min-height:1.2em;width:100%;text-align:left;line-height:1.2;font-weight:600;letter-spacing:.5px;position:relative;padding-bottom:8px}.footer h3:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background-color:#81c9e6}.footer ul{list-style-type:none;margin:0;flex-direction:column;align-items:flex-start;min-height:80px;gap:12px}.footer ul,.footer ul li{padding:0;text-align:left;width:100%;display:flex}.footer ul li{margin-bottom:5px;justify-content:flex-start;box-sizing:border-box;min-height:22px}.footer a{color:white;text-decoration:none;font-size:15px;transition:all .3s ease;display:inline-block;text-align:left;max-width:100%;min-height:22px;padding:3px 6px;border-radius:3px}.footer-section:nth-child(2){width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.footer-section:nth-child(2) ul{width:100%}.footer-section:nth-child(2) a{width:auto;padding:3px 8px}.footer-contact{min-height:28px;margin:8px 0;width:100%;display:flex;align-items:center;justify-content:flex-start}.footer-contact-button{display:inline-block;background-color:#81c9e6;color:#104a78;padding:10px 20px;border-radius:5px;text-decoration:none;font-weight:700;min-height:44px;min-width:120px;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .3s ease;border:1px solid transparent}.footer-contact-button:focus,.footer-contact-button:hover{background-color:white;outline:none;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.footer-phone{display:inline-flex;min-width:120px;min-height:22px;align-items:center;justify-content:flex-start;font-weight:500;position:relative;padding-left:5px}.footer-phone:before{content:"☏";margin-right:5px;font-size:16px}.footer-email{display:inline-flex;min-width:120px;min-height:22px;align-items:center;justify-content:flex-start;font-weight:500;position:relative;padding-left:5px}.footer-email:before{content:"✉";margin-right:5px;font-size:16px}@media (max-width:992px){.footer-content{justify-content:space-around;gap:30px}.footer-section{min-width:200px;flex-grow:0;flex-shrink:0;flex-basis:calc(50% - 30px)}.footer-section:nth-child(2):after{display:none}.footer-section:nth-child(3){flex:0 0 100%;align-items:center;text-align:center}.footer-section:nth-child(3) .footer-contact,.footer-section:nth-child(3) .footer-phone,.footer-section:nth-child(3) h3{text-align:center;justify-content:center;align-items:center}.footer-section:nth-child(3) h3:after{left:50%;transform:translateX(-50%)}}@media (max-width:768px){.footer{padding:30px 15px}.footer-content{flex-direction:column;gap:30px;min-height:450px;contain:layout;padding:0}.footer-section{flex:0 0 100%;min-width:100%;min-height:120px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);align-items:center;text-align:center}.footer-section:not(:last-child):after{display:none}.footer-section:last-child{border-bottom:none}.footer h3,.footer-address,.footer-brand,.footer-copyright{text-align:center}.footer h3{margin-bottom:15px}.footer h3:after{left:50%;transform:translateX(-50%)}.footer ul{width:100%;align-items:center}.footer ul li{justify-content:center}.footer a,.footer ul li{text-align:center}.footer-contact{justify-content:center}}@media (max-width:408px){.footer-content{min-height:520px;contain:layout;gap:20px}.footer-section{padding:0 5px 20px;min-height:160px}.footer-section:first-child{order:3}.footer-section:nth-child(2){order:1}.footer-section:nth-child(3){order:2}.footer h3:after{width:30px}}@media (max-width:480px){.footer{padding:20px 10px}.footer-content{gap:15px;min-height:550px}.footer-section{margin:0 0 15px;min-height:130px}.footer-brand{font-size:18px}.footer-address,.footer-copyright{font-size:13px}.footer a{font-size:14px}}.footer a:focus-visible{outline:2px solid #81c9e6;outline-offset:2px}.footer a:hover{text-decoration:none;color:#81c9e6;background-color:rgba(255,255,255,.05)}